2014-10-03 9 views
11

provo a caricare un'immagine utilizzando NSURLSession in estensione condiviso in iOS 8 ma hanno questo errore subito dopo aver chiamatoUpload NSURLSesssion viene invalidata nel condividere estensione in iOS 8 con l'errore NSURLErrorDomain codice = -995

[task resume] 
Error Domain=NSURLErrorDomain Code=-995 "The operation couldn’t be completed. (NSURLErrorDomain error -995.)" 

qui è il mio codice:

NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:DEFAULT_SHARE_SESSION_ID]; 
NSURLSession *session = [NSURLSession sessionWithConfiguration:configuration delegate:self delegateQueue:self.queue]; 
NSURLRequest *request = [self getMultipartUploadRequest:data url:url albumId:albumId]; 
// ... saving file here to Documents folder 
NSURLSessionUploadTask *uploadTask = [session uploadTaskWithRequest:request fromFile:url1]; 
[uploadTask resume]; 

e anche io ho questo messaggio nella console:

Attempted to create a task in a session that has been invalidated 

Questo codice assolutamente funziona in app, ma non funziona nel prolungamento di condivisione. Non riuscivo a trovare quello che fa codice -995 dire.

Qualche idea?

+2

Guarda questa domanda: http://stackoverflow.com/questions/25438709/afnetworking-background-session-configuration-for-ios-8-extension – Wisors

risposta

11

@Wisors grande! Mi ha aiutato, solo bisogno di impostare

sessionConfiguration.sharedContainerIdentifier = @“com.me.myapp.containerIdentifier”; 

Nel mio caso @ “com.me.myapp.containerIdentifier” era @ "group.mycompany.appname", che è stato fondamentale, un altro identificatore non ha funzionato. Grazie!

+0

ho provato entrambi "com.company.app.sharedContainer" e " group.com.company.app "che è l'identificatore del gruppo di app registrato sul portale degli sviluppatori ma entrambi hanno fallito con lo stesso errore! – static0886

+0

Grazie, mi ha aiutato. Ero un pò bloccato –

+0

Ho una domanda per quello che dobbiamo usare questo? "SessionConfiguration.sharedContainerIdentifier = @‘com.me.myapp.containerIdentifier’;" Ho già creato NSURLSessionConfiguration.backgroundSessionConfigurationWithIdentifier (identificatore). Ora quando sto richiedendo attraverso di esso (classe manager) è in esecuzione, ma quando provo a invalidare che genera un errore. Cosa dovrei fare ? –