3 回答

TA貢獻1821條經驗 獲得超5個贊
簡而言之,除非您UIApplicationExitsOnSuspend在Info.plist中將其設置為YES ,否則在iOS4及更高版本中,無法保證applicationWillTerminate:會被調用。
如文檔所述:
對于支持后臺執行的應用程序,當用戶退出應用程序時通常不會調用此方法,因為在這種情況下,應用程序只是移至后臺。然而,這種方法可以在其中應用程序在背景中(未暫停)運行情況被調用,該系統需要終止它由于某種原因
(強調我的。)
如果您需要在應用退出之前執行某些操作,則需要在中執行操作applicationDidEnterBackground:。無法捕捉SIGKILL。

TA貢獻2041條經驗 獲得超4個贊
據我所知,您的應用程序將在3種情況下死亡。
在最終用戶終止后,您可以在中做某事
-[UIApplication applicationWillEnterBackground:]
,在這種情況下,-[UIApplication applicationWillTerminate:]
將不會調用。被系統丟棄,例如內存不足,您可以在中做某事
-[UIApplication applicationWillTerminate:]
,在這種情況下,我們不知道是否applicationWillEnterBackground:
已被調用;崩潰了,只能使用某種崩潰報告工具來完成。(編輯:捕捉
SIGKILL
是不可能的)
- 3 回答
- 0 關注
- 604 瀏覽
添加回答
舉報