2010-10-29 19 views
1

我想爲用戶退出應用程序時保存一些應用程序狀態數據。我想,我應該用我的appDelegate內的applicationWillTerminate方法,但是當我嘗試做任何那裏,它沒有做任何事情:使用applicationWillTerminate方法似乎沒有工作

- (void) applicationWillTerminate:(UIApplication *)application { 
NSLog(@"test"); 
} 

當我運行我的應用程序,並做一些東西,命中退出應用程序的主頁按鈕,什麼都沒有通過控制檯...

我是否必須在appDelegate中實現applicationWillTerminate方法?我的應用程序的用戶很可能會在閱讀器視圖中,當他們離開時,是否有實施該應用程序將關閉方法呢?

回答

2

查看此鏈接iPhone simulator and applicationWillTerminate()適用於較早的iOS版本;

但要記住Home鍵不一定終止應用程序是iOS4的...你應該使用applicationDidEnterBackground但建議兩地applicationWillTerminateapplicationDidEnterBackground

添加UIApplicationExitsOnSuspend關鍵應用程序的Info.plist文件,並將其值設置爲YES即使在iOS4上也會讓您退出主頁按鈕時退出應用程序

+0

那只是我需要的澄清,謝謝一堆 – Jerry 2010-10-29 17:20:16

2

在iOS 4中,只有退出後臺執行模式時纔會調用applicationWillTerminate:方法。在標準iOS 4應用程序生命週期中,當主頁按鈕被按下時,應用程序被暫停(不終止)。您的應用程序代表將收到applicationWillResignActive:消息,然後收到applicationDidEnterBackground:消息。 applicationDidEnterBackground:方法是保存用戶數據的好地方。