2015-09-06 101 views
0

我試圖瞭解蘋果的後臺執行DOC:iOS的後臺執行

一旦配置好,你NSURLSession對象無縫地把手拿開上傳 和下載任務系統在適當的時間。如果任務在應用程序仍在運行時完成 (無論是在前臺還是在 後臺),會話對象都會以通常的 方式通知其代表。如果任務尚未完成且系統終止您的應用程序,系統將自動繼續管理背景中的任務 。如果用戶終止您的應用程序,系統將取消任何 待處理任務。

當所有的與背景會話相關的任務 完成後,系統將重新啓動已終止的應用程序(假設 sessionSendsLaunchEvents屬性設置爲YES,並且用戶也 沒有強制退出應用程序),並調用應用程序委託人 應用程序:handleEventsForBackgroundURLSession:completionHandler: 方法。 (系統還可以重新啓動應用程序以處理認證 挑戰或其他與任務相關的事件,這些事件需要您的應用程序的 注意。)在實現該代理方法時,使用提供的標識符 創建一個新的NSURLSessionConfiguration,並使用 NSURLSession對象與之前相同的配置。系統 將您的新會話對象重新連接到之前的任務,並將其狀態報告給會話對象的委託。

如果我使用NSURLSession,所以當應用程序進入後臺時上傳過程仍在繼續,該進程將不會被殺死或只要申請不被用戶終止死了(我想這是由從應用程序列表中殺死我的應用程序

回答

3

仔細閱讀文本。作爲所有優秀的文檔,它非常清楚地表達了它的含義,並且您只需要仔細閱讀它。

您沒有仔細閱讀。

存在三種情況:任務完成時,應用程序仍在運行,上次任務完成時系統已關閉應用程序,或者用戶在最後一項任務完成之前關閉應用程序。不,它沒有說任何應用程序保持活着的地方。文件清楚地說明了每種情況下會發生什麼。

iOS會殺死位於後臺的應用程序,並使用戶看起來像仍在運行。