我需要保存一些數據在我的應用程序中,當應用程序終止並且即使它崩潰。我知道當應用程序終止時調用applicationWillTerminate
,但我不確定在應用程序崩潰時調用哪個方法。
有人可以幫我嗎?在應用程序崩潰時調用appDelegate中是否有任何方法?
回答
那麼你可以添加自己的異常處理程序來捕獲錯誤。
首先,你需要定義例外方法:
然後告訴該應用使用異常處理程序:
- (void)applicationDidFinishLaunching:(UIApplication *)application {
NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler);
// The rest if you code ....
}
有沒有辦法,讓應用節省崩潰的數據,因爲儲蓄可能是墜機的原因!
我可以在這個uncaughtExceptionHandler方法中的NSUserDefaults中保存當前時間(應用程序崩潰時間)嗎?這是最佳實踐嗎? – Bhushan 2016-01-28 09:57:35
我不認爲你可以,但你可以把你的錯誤寫入應用程序沙箱,這就是crashlytics,hockyapp和sorts這樣的庫。 – rckoenes 2016-01-28 10:02:11
感謝您的快速響應。有沒有另一種方式來節省當前應用程序崩潰的時間?我在applicationWillTerminate方法中節省時間,但它不會在應用程序崩潰時調用。其實我的應用程序是以我需要上次會話註銷時間進一步處理的方式。任何幫助,你可以提供將不勝感激。 – Bhushan 2016-01-28 10:33:08
不,您無法瞭解應用程序何時崩潰。
- 1. 在iOS 9中調用invalidateLayout方法時應用程序崩潰
- 2. 嘗試調用getMapAsync()方法時應用程序崩潰
- 3. 當contentProvider調用查詢方法時應用程序崩潰?
- 4. 從活動類調用方法時,應用程序崩潰
- 5. 調用setValue時應用程序崩潰
- 6. 調用startActivityForResult時應用程序崩潰
- 7. 在MKMapview中使用NSAutoreleasepool時應用程序崩潰regionDidChangeAnimated方法
- 8. Android應用程序在調用Cursor方法後崩潰
- 9. ANR調試應用程序時崩潰
- 10. 轉換爲ARC應用程序崩潰的任何方法iPhone
- 11. Windows應用程序在調試時不會崩潰,但崩潰否則
- 12. 應用程序在調用onClickListerner()時總是崩潰
- 13. 應用程序意圖崩潰方法
- 14. 應用程序崩潰時釋放appDelegate實例
- 15. 更改appDelegate變量時的應用程序崩潰
- 16. 應用程序不斷崩潰。有任何想法嗎?
- 17. 應用程序有時會崩潰
- 18. 如何調試崩潰應用程序
- 19. 調用方法後應用程序崩潰
- 20. 調用方法兩次崩潰應用程序
- 21. C#應用程序崩潰的方法調用COM類
- 22. 調用釋放方法崩潰iOS應用程序
- 23. 如何在應用程序崩潰時捕獲崩潰
- 24. 斯威夫特應用程序崩潰移動從AppDelegate中
- 25. 在CCSprite子類中調用self.addChild時,iPhone應用程序崩潰?
- 26. UWP應用程序崩潰時沒有在調試模式下
- 27. 當應用程序在ios中崩潰時,它是否會在任何地方創建核心轉儲?
- 28. 應用程序在某段時間後崩潰: - (void)viewDidUnload方法
- 29. checkBox.setOnCheckedChangeListener調用崩潰應用程序?
- 30. Android:使用Post方法到達AlertDialog.Builder時應用程序崩潰
你應該寫一個不會崩潰的應用程序,它可以解決你的問題 – 2012-02-13 10:22:10
非常好的考慮Vince。但是你永遠不知道什麼可能會導致應用程序崩潰先處理它比稍後處理好。 – Nitish 2012-02-13 10:28:09