2016-06-15 52 views
0

iOS 7引入了在應用程序終止時在後臺運行下載的功能。 Apple文檔和可用示例提供了有關如何響應由這些後臺下載觸發的事件的信息,以便可以在後臺完成下載,以供用戶在重新啓動應用程序時訪問下載的資源。如果用戶在下載過程中重新啓動應用程序,iOS應用程序如何重新連接到後臺下載?

但是,文檔和示例似乎沒有提供有關如何處理應用程序開始後臺傳輸,終止但在用戶重新啓動後臺傳輸結束前重新啓動的情況。如果應用程序需要向用戶提供後臺傳輸正在進行但未完成的信息,那麼如何檢測該狀態以及應用程序如何在後臺傳輸中獲得進度更新以便向用戶通知後臺下載的進展情況?

在此先感謝您的任何建議。

回答

1

如果您使用相同的標識符創建新的後臺會話,則iOS足夠智能,可以爲您重新創建相關連接。它'知道''新'背景會議,實際上是舊會議的恢復,並且會讓你恢復舊會議。

從那裏,您仍然有責任使用會話來配置代表和個人代碼的其他方面(重新)。

1

因爲我知道後臺會話有一個標識符,所以我認爲你可以通過該標識符恢復它。

+0

感謝您的快速響應。我該如何傳遞該標識符以便我可以檢索會話?查看[Apple的後臺執行指南](https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html),關於在後臺下載內容的部分表明系統自動將'application:handleEventsForBackgroundURLSession:completionHandler:'委託方法中重新創建的會話重新連接到其以前的任務。目前尚不清楚,但通常會起作用。 –

+0

我無法證明給定的答案是正確的,但無法測試後臺下載,正如[本問題]中所述(http://stackoverflow.com/questions/37827050/on-ios-7-how-to-force-一個下載操作,待運行的最系統,而超) –

相關問題