在共享扩展中上传图像导致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
,您可能会有更好的运气,它必须由后台上传请求进行文件备份。
谢谢。可能。但是,我会考虑一个错误,因为这是后台任务的工作。我已经尝试了一个上传任务,但API似乎不能使用它。 – dasdom 2014-12-12 21:04:52