在共享扩展中上传图像导致NSURLErrorDomain代码= -997

问题描述:

我尝试实现用户可以在App.net上共享图像的扩展。在共享扩展中上传图像导致NSURLErrorDomain代码= -997

经过大量的试验和错误,我终于出来了想法。

我有一个框架来创建请求。该请求是POST请求Content-Disposition: form-data。因此我认为我必须使用sessionDataTask来上传图片。

会话的委托是同一个框架中的单例。一些委托方法被调用。

但是didReceiveData永远不会被调用。在代替我收到以下错误didCompleteWithError任何上传开始前:

Error Domain=NSURLErrorDomain Code=-997 "Lost connection to background transfer service" UserInfo=0x7b29dc80 {NSErrorFailingURLKey=https://alpha-api.app.net/stream/0/files, NSErrorFailingURLStringKey=https://alpha-api.app.net/stream/0/files, NSLocalizedDescription=Lost connection to background transfer service} 

这里是份额扩展代码:

let imageUploadRequest = RequestFactory.imageUploadRequest(imageToShare, accessToken: accessToken!) 

let sessionId = "de.dasdom.jupp.image.backgroundsession" 

let config = NSURLSessionConfiguration.backgroundSessionConfigurationWithIdentifier(sessionId) 

config.sharedContainerIdentifier = "group.de.dasdom.Jupp" 

let session = NSURLSession(configuration: config, delegate: PostService.sharedService, delegateQueue: NSOperationQueue.mainQueue()) 

let sessionTask = session.dataTaskWithRequest(imageUploadRequest) 
sessionTask.resume() 

self.extensionContext!.completeRequestReturningItems(nil, completionHandler: nil) 

这也使在主机应用程序相同的错误。

我已经在共享扩展和主机应用程序中设置了一个应用程序组。

上传确实有效,但我需要上传的响应才能撰写App.net的文章。当我使用正常的NSURLSession时,一切正常。

任何帮助将不胜感激。

我认为数据任务在扩展返回时被取消。对于NSURLSessionUploadTask,您可能会有更好的运气,它必须由后台上传请求进行文件备份。

+0

谢谢。可能。但是,我会考虑一个错误,因为这是后台任务的工作。我已经尝试了一个上传任务,但API似乎不能使用它。 – dasdom 2014-12-12 21:04:52