在我的android應用中,我使用了一個後臺服務,每2分鐘在本地數據庫中檢查一次,如果發現某些未嘗試過的數據,它會嘗試將其同步到服務器。現在我想在ios中實現相同的功能,所以我想知道ios中是否存在與android服務相同的內容。ios中長時間運行的後臺任務
0
A
回答
1
不,沒有iOS等效的服務。但是,您試圖做的事情可以通過背景模式來實現。具體來說,fetch
後臺模式。
要啓用背景模式,請轉到項目設置 - >功能 - >背景模式並啓用Background fetch
。
然後,就是你UIApplicationDelegate
實現功能
// Swift
func application(_ application: UIApplication, performFetchWithCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void)
// Objective-C
- (void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler;
按
Background Modes documentation當一個好機會出現的時候,系統喚醒或啓動您的應用爲背景,並調用應用程序委託的應用程序: performFetchWithCompletionHandler:方法。如果內容可用,請使用該方法檢查新內容並啓動下載操作。一旦完成下載新內容,您必須執行提供的完成處理程序塊,並傳遞一個結果,指示內容是否可用。執行此塊會告訴系統它可以將您的應用程序移回掛起狀態並評估其用電量。快速下載少量內容並準確反映他們何時可以下載內容的應用程序比將需要很長時間下載內容的應用程序或聲明內容可用但後來可以執行的應用程序更有可能在未來獲得執行時間不下載任何東西。
使用背景模式,您的應用程序將被喚醒或啓動來執行任務,即使它被打死或設備被重新啓動 - 與用戶強制退出應用程序異常。
相關問題
- 1. 運行的後臺任務iOS中長時間與iBeacons
- 2. 在後臺實現長時間運行的任務IOS
- 3. 長時間運行後臺任務定期停止iOS
- 4. 長時間運行的後臺任務中的Internet訪問
- 5. iPhone中的通用長時間運行後臺任務
- 6. 在MVC中使用webbackgrounder nuget長時間運行後臺任務
- 7. 定期長時間運行的後臺任務
- 8. 長期運行的後臺任務
- 9. 重複長時間運行的後臺任務在第一次後臺任務後沒有啓動計時器
- 10. Rails中的長時間運行任務
- 11. 如何在iOS中實現長時間運行的任務?
- 12. 處理長時間運行的任務
- 13. asp.net長時間運行的任務
- 14. 一個長時間運行的任務
- 15. Azure Schedule長時間運行任務
- 16. 在Elixir中異步運行長時間運行的任務
- 17. 在單獨的後臺線程vs進程中運行長時間後臺任務
- 18. Windows Phone 8.1運行時 - 後臺任務時間觸發器
- 19. 在iOS中定期在後臺線程中運行任務
- 20. ASP.NET中處理長時間運行任務的單獨服務
- 21. iOS上的後臺任務計時器
- 22. iOS上的後臺任務
- 23. 做簡單的任務,在後臺很長一段時間在iOS 4+
- 24. 後臺任務不在UWP中運行
- 25. iPhone後臺任務在某個時間點停止運行
- 26. IOS - 在後臺執行有限長任務
- 27. 在Azure上實現長時間的後臺任務的webapps
- 28. 開始很長時間的後臺任務
- 29. 如何運行的後臺網絡任務iOS上
- 30. 長時間運行任務中的OpenCL錯誤
感謝您的迴應,我會研究實施。 – Danger