[英]How can I know which tasks are running in the background?
我正在嘗試在我的應用中實現一個看似常見的功能:在后台上傳文件。 我通過調用-[UIApplication beginBackgroundTaskWithExpirationHandler:]
運行這些任務,因此這些任務都由UIBackgroundTaskIdentifier
標識。
請看下面的圖表。 橙色框是問題點,我似乎無法找到任何答案。
以下是我尋求指導的問題:
是否有可能獲得在前一個會話中啟動的相同應用程序的正在運行的任務列表?
是否可以將某種元數據(如URL字符串)與后台任務相關聯,這樣我們就可以知道哪個任務正在上傳哪個文件?
您使用的是NSURLConnection
還是NSURLSession
?
如果是NSURLSession
,則可以使用getTasksWithCompletionHandler
。 您還可以使用后台NSURLSessionConfiguration
,而不是依賴beginBackgroundTaskWithExpirationHandler
。 它跟蹤請求的條件,您可以從任務中檢索originalRequest
(並從中檢索URL),或者使用taskIdentifier
的NSURLSessionTask
更新模型,並以這種方式在您自己的模型中交叉引用請求。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.