2011-08-12 60 views
0

我正在嘗試存儲我的應用的上次發佈日期。所以,我做了以下內容:存儲最後發佈

- (void)applicationWillResignActive:(UIApplication *)application { 
    NSDate *today = [NSDate date]; 
    [[NSUserDefaults standardUserDefaults] setObject:today forKey:@"lastLaunch"]; 
    [[NSUserDefaults standardUserDefaults] synchronize]; 
} 

然而,當我再次重新啓動應用程序,並打印出關鍵lastLaunch對象它顯示null。爲什麼不存儲日期?我把它放在錯誤的方法?我正在運行它並從Xcode終止應用程序。

+0

要終止應用程序,你應該按主頁按鈕..輸入一個nslog語句的方法來檢查它是否被調用 – Tornado

+0

我做 - 它的工作原理。但爲什麼當我從Xcode終止一個應用程序時,該方法不會執行?是不是停止從Xcode的應用程序就像從手機中正確終止應用程序? – darksky

+0

Nopes蘋果提供了主頁按鈕以正確的方式終止應用程序...只有當主頁按鈕被按下時纔會調用resignactive和應用程序進入後臺 – Tornado

回答

0

applicationWillResignActive:也叫當您收到電話...... 您可以在這裏找到更多的信息: http://www.cocoanetics.com/2010/07/understanding-ios-4-backgrounding-and-delegate-messaging/

我認爲applicationDidEnterBackground是一個更好的地方把你的代碼,因爲用戶可以拒絕電話,回到你的應用程序...

而對於IOS3用戶無需多任務手錶applicationWillTerminate:

停止在Xcode只是殺死你的應用程序,而無需調用什麼...

0

NSUserDefaults在iPhone模擬器中很奇怪。我希望你的代碼可以在實際的設備上工作。