2011-08-12 12 views
0

私は自分のアプリケーションの最終起動日を保存しようとしています。私は再びアプリを再起動し、キーlastLaunchのオブジェクトを印刷するとき最後の起動の保存

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

はしかし、それはnullを示しています。だから私は次のようでした。なぜそれが日付を格納していないのですか?私は間違った方法でそれを入れていますか?私はそれを実行しており、Xcodeからアプリケーションを終了しています。

+0

アプリを終了するには、ホームボタンを押してください。nslogステートメントをメソッドに入れて、それが呼び出されたかどうかを確認してください。 – Tornado

+0

私はそれを行いました。しかし、なぜ私はXcodeからアプリケーションを終了すると、そのメソッドは実行されませんか?携帯電話からアプリを正しく終了させるのと同じように、Xcodeのアプリを停止しないのですか? – darksky

+0

Nopes appleは正しい方法でアプリを終了させるためにホームボタンを提供していました... resignactiveとアプリケーションが背景を入力するのはホームボタンが押されたときだけです – Tornado

答えて

0

applicationWillResignActive:あなたは電話... を受信したときにも呼ばれていることはあなたがここでより多くの情報を見つけることができます:私はapplicationDidEnterBackgroundは、ユーザーが電話を拒否することができますので、あなたのコードを配置するには良い場所だと思い http://www.cocoanetics.com/2010/07/understanding-ios-4-backgrounding-and-delegate-messaging/

をし、 applicationWillTerminateのための時計をマルチタスクずに...戻ってあなたのアプリに

を行くとiOS3ユーザーのため:

Xcodeでの停止だけで何も呼び出さずにアプリケーションを殺す...

0

NSUserDefaultsはiPhoneシミュレータで変です。私はあなたのコードが実際のデバイスで動作することを期待しています。

関連する問題