Upload NSURLSesssion becomes invalidated in sharin

2019-03-18 15:06发布

问题:

I try to upload an image using NSURLSession in shared extension in iOS 8 but have this error instantly after calling

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

here is my code:

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];

and also I have this message in console:

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

This code absolutely works in the app, but doesn't work in the sharing extension. I couldn't find what does code -995 mean.

Any ideas?

回答1:

@Wisors great! It helped, just need to set

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

In my case @“com.me.myapp.containerIdentifier” was @"group.mycompany.appname" which was crucial, another identifier didn't work. Thank you!