我正在尝试通过操作扩展从照片应用程序上传图像。我使用 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,因此问题仍然存在。
任何建议都会有所帮助。提前致谢。