我試圖通過Action Extension從Photo應用上傳圖片。我使用NSURLSession在後臺上傳它。這是我使用的代碼。Action Extension - 多個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,因此問題仍然存在。
任何建議都會有幫助。提前致謝。
我試過使用不同的標識符。仍然是同樣的問題。 – 2014-12-05 13:47:30
另外,委託方法不會有幫助。正如Apple的指導方針所說的,我們必須解除動作擴展並在後臺運行nsurlsession。所以隨着行動延伸解散,代表也被殺死。 – 2014-12-05 13:49:03
我已經在應用程序中執行了很久的nsurlsessions。它每次都很好。但行動延伸有一個指導方針,這聽起來很合理。 – 2014-12-05 13:51:21