问题 上传NSURLSesssion在ios8中的共享扩展名中失效,错误NSURLErrorDomain Code = -995


我尝试使用上传图像 NSURLSession 在共享扩展中 iOS 8 但在打电话后立即出现此错误

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

这是我的代码:

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

而且我在控制台中也有这条消息:

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

此代码绝对适用于应用程序,但在共享扩展程序中不起作用。 我找不到什么 代码-995 意思。

有任何想法吗?


5928
2017-10-03 03:13


起源

看看这个问题: stackoverflow.com/questions/25438709/... - Wisors


答案:


@Wisors很棒!它有所帮助,只需要设置

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

在我的情况下@“com.me.myapp.containerIdentifier”是@“group.mycompany.appname”这是至关重要的,另一个标识符不起作用。 谢谢!


13
2017-10-11 20:49



我尝试了“com.company.app.sharedContainer”和“group.com.company.app”这是开发人员门户网站上注册的应用程序组标识符,但都失败并出现同样的错误! - static0886
谢谢,它有所帮助。我有点卡住了 - Raheel Sadiq
我有一个问题,我们必须使用它吗? “sessionConfiguration.sharedContainerIdentifier = @”com.me.myapp.containerIdentifier“;”我已经创建了NSURLSessionConfiguration.backgroundSessionConfigurationWithIdentifier(标识符)。现在当我通过它(经理类)请求它正在执行但是当我尝试使其无效时它会抛出错误。我该怎么办 ? - MQ.