【发布时间】:2014-12-05 12:42:31
【问题描述】:
我正在尝试通过操作扩展从照片应用上传图片。我使用 NSURLSession 在后台上传它。这是我使用的代码。
var configName = "com.myapp.uploadImage"
var config = NSURLSessionConfiguration.backgroundSessionConfigurationWithIdentifier(configName)
config.sharedContainerIdentifier = "group.myApp.sample"
var session = NSURLSession(configuration: config)
let task = session.dataTaskWithRequest(request)
task.resume()
self.extensionContext!.completeRequestReturningItems(self.extensionContext!.inputItems, completionHandler: nil)
效果很好。
问题是当我上传图像并关闭视图一次然后再次尝试上传第二张图像时,初始进程仍在后台运行,初始 NSURLSession 未完成。只有第二个过程完成。简而言之,第二届会议胜过第一届会议。
我尝试使用 NSOperationQueue。但是操作扩展一旦被解除并为第二个会话再次打开,它只会创建一个新的 NSOperationQueue,因此问题仍然存在。
任何建议都会有所帮助。提前致谢。
【问题讨论】:
标签: ios swift ios8-extension ios8-share-extension