NSURLSession:无法与后台传输服务通信

时间:2015-10-01 14:23:42

标签: ios objective-c afnetworking nsurlsession ios8-share-extension

尝试在共享扩展程序中使用AFNetworkings AFURLSessionManager创建NSURLSessionUploadTask时,我不断收到错误消息。会话的代表不断被调用

- (void)URLSession:(NSURLSession *)session didBecomeInvalidWithError:(NSError *)error

错误

Error Domain=NSURLErrorDomain Code=-996 "Could not communicate with background transfer service" UserInfo=0x60800007a6c0 {NSLocalizedDescription=Could not communicate with background transfer service}

如果应用程序有会话,然后共享扩展程序尝试进​​行会话,则会发生这种情况。要初始化会话,我在应用和共享扩展中执行以下操作。

NSURLSessionConfiguration* config = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:kSHARE_UPLOAD_SESSION];
config.sharedContainerIdentifier = kAPP_GROUP;
self.sessionManager = [[AFURLSessionManager alloc] initWithSessionConfiguration:config];
self.sessionManager.attemptsToRecreateUploadTasksForBackgroundSessions = YES;

1 个答案:

答案 0 :(得分:3)

您必须使用不同的"标识符"主应用程序&(kSHARE_UPLOAD_SESSION)扩展名。你显然不能有2个同时运行相同标识符的NSURLSession。你应该保持相同的组(kAPP_GROUP)