2012-11-14 45 views
2

有沒有人對iOS 5/6中調用applicationWillTerminate的時間/條件有任何瞭解?applicationWillTerminate沒有被強制退出iOS應用程序

我有一些邏輯,我希望在應用程序終止時(不移動到後臺)執行一些邏輯,例如,如果用戶通過雙擊主頁按鈕導航到屏幕底部的應用程序欄並強制退出應用程序。

當我嘗試在測試設備上執行此操作時,applicationWillTerminate似乎無法調用。是否有一個原因?

我的計劃B是將該邏輯綁定到某個持久對象,如單例或靜態,當應用程序退出時它會自動銷燬。

有什麼建議嗎?

感謝

+1

注意分號,正確的方法名是'applicationWillTerminate:'。 – 2012-11-14 20:11:21

回答

7

你看過了applicationWillTerminate:文檔,

它說,

對於不支持後臺執行或者是針對iOS的3.x的鏈接或更早版本的應用程序,這種方法總是在用戶退出應用程序時調用。對於支持後臺執行的應用程序,當用戶退出應用程序時通常不會調用此方法,因爲在這種情況下應用程序只是移至後臺。 但是,在應用程序在後臺運行(未掛起)並且系統因某種原因需要終止它的情況下,可能會將此方法稱爲

有一個「也許」在那裏提到。可能會回答你的問題。所以當你退出應用程序時,這是沒有必要的。可能你可能不得不使用UIApplicationExitsOnSuspend來禁用多任務處理,然後在後臺處理時可能會調用它。但是這又取決於您的應用程序要求。如果你不能禁用多任務處理,你可能會考慮在applicationDidEnterBackground方法中這樣做。我不確定是否有其他代表方法可以幫助確定強制退出。

+1

酷酷沒有看到。雅看起來不是很可靠。 –

+0

我有要求存儲項目,所以如果用戶強行退出,我何時將這些項目存儲到本地數據庫。注意:我的應用程序保持以後臺模式運行。請幫忙 – Mrunal

+0

有更多的最新信息在這裏http://stackoverflow.com/questions/14079670/why-doesn-t-stopping-an-application-in-ios-simulator-trigger-applicationwillterm/35354336#35354336 –

相關問題