如果應用程序上次意外關閉,我想在應用程序開始時執行一些操作。告訴它?有沒有辦法告訴iOS應用程序是否意外關閉?(崩潰,強制關閉)
回答
我通過在應用程序啓動時以及應用程序進入前臺時在NSUserDefaults中將BOOL
設置爲YES
來實現此目的。
我當應用程序進入背景此相同的值設置爲NO
。
在didFinishLaunchingWithOptions
開始時(將標誌設置爲YES之前),我檢查標誌當前是否設置爲YES
。如果是YES
,那麼我知道該應用程序不正確地崩潰。
然而,這並不能檢查,如果應用程序是在後臺(由操作系統或用戶)殺害。
您可以處理接近,而在後臺(由操作系統或用戶)通過設置一個標誌,當應用程序進入後臺並清除標誌時,應用程序進入前景的力量。然後檢查didFinishLaunchingWithOptions
方法中的這個標誌。如果這個標誌被設置,那麼你知道你的應用程序在後臺被殺害。
請記住,一個強制關閉,同時在後臺實在不應該被認爲是一個「意外關閉」。這實際上是相當期待的。
謝謝。是的,這正是我需要的。 – Ross 2013-03-15 04:01:13
是的,您可以這樣做:最簡單的方法是在<Application_Home>/Documents/
目錄中創建一個已知名稱的文件,然後在「正常」退出時刪除該文件。如果文件在啓動時出現,則說明前一個退出並不是「正常」的退出。
您可以定期更新文件內容,每分鐘在計時器上寫入當前時間戳。這樣你就可以知道什麼時候異常退出發生了。
+1我也不會想到的這個 – borrrden 2013-03-15 01:28:18
如何在iOS下定義「正常」退出? – user523234 2013-03-15 02:54:42
@ user523234通過'applicationDidEnterBackground:'。或者在applicationWillTerminate方法中,如果應用程序不支持背景。 – borrrden 2013-03-15 03:26:50
生病後這只是供將來參考:
對於額外的覆蓋檢查活動狀態與
- (無效)applicationDidBecomeActive:(UIApplication的*)應用
- (無效)applicationWillResignActive:(UIApplication的* )應用
然後NSUserDefaults的使用,以保持狀態軌道
背景檢查之間的主要區別在於,當應用程序仍在前臺執行時,用戶通過應用程序切換器立即關閉應用程序時,它們會覆蓋邊緣案例。這也有助於爲背景兼容的應用程序,我認爲
我認爲它可能給你一個崩潰和關閉這些力量之間更多的報道......雖然我沒有測試電池耗盡
- 1. 應用程序意外停止。強制關閉。該怎麼辦?
- 2. 檢測android應用程序崩潰強制關閉
- 3. 應用程序關閉,沒有崩潰警報
- 4. 關閉Webview崩潰應用程序
- 5. 應用程序在關閉時崩潰(?)?
- 6. 應用程序崩潰時關閉
- 7. 應用程序崩潰時關閉
- 8. wxWidgets關閉應用程序時崩潰
- 9. 有沒有辦法在Sybase中告訴「set statistics io」是打開還是關閉?
- 10. 我的應用程序意外停止並強制關閉
- 11. 應用程序意外停止強制關閉?
- 12. 如果FileInputStream未關閉,應用程序是否會崩潰?
- 13. Android應用程序崩潰,沒有給出任何警告,錯誤或強制關閉消息
- 14. 應用程序「強制關閉」時是否有任何關機掛鉤?
- 15. 應用程序強制關閉沒有互聯網JSON
- 16. 檢查Windows服務是否被強制關閉或崩潰
- 17. Android:應用程序意外關閉
- 18. C#應用程序意外關閉!
- 19. NulPointerException,Android應用程序意外關閉
- 20. Android應用程序意外關閉
- 21. 應用程序意外關閉c#.net
- 22. 意外的應用程序關閉
- 23. 強制應用程序關閉系統關閉
- 24. 當關閉屏幕時,應用程序強制關閉
- 25. 有沒有辦法「關閉」從谷歌地圖API關閉infoWindow?
- 26. 應用程序強制關閉
- 27. SharedPreferences使應用程序強制關閉
- 28. Android addmob應用程序強制關閉
- 29. Android SharedPreferences強制關閉應用程序
- 30. 強制應用程序類關閉
檢查此評論的 - http://stackoverflow.com/a/6266704/775779 – 2013-03-15 01:26:27
我寫了這個答案崩潰和力量來區分接近:http://stackoverflow.com/a/17711034/1804403 – Skotch 2013-07-17 22:27:56