2012-04-25 12 views
0

を扱う私はときに私のiPadアプリでのユーザーのログイン重要な動作を処理しようとしています。IOSログイン、クラッシュやデバイスのシャットダウン

  1. クラッシュ
  2. デバイスがシャットダウン

だった、それがリセットすることが可能である発生しました:

は一度に成功し、我々はnsuserdefaultsを使用してログインを覚えているだろうが、再ログインが必要になります、ログイン上記のアクションが発生したときのNSUserDefaultのログイン値はい、どうすればそれらを処理できますか?ケース1の場合

おかげ

+0

ユーザのデフォルトではログインクレデンシャルを決して保存しないでください。キーチェーンを使用してください! – Kerni

答えて

0

は、例外ハンドラにケース2トラップ

- (void)applicationDidEnterBackground:(UIApplication *)application 
{ 
    // Make a note in your default settings 
    // User needs to log in 
} 
+0

ケース1の場合、これは良い解決策ではありません。 QuincyKitのようなPLCrashReporterをベースにしたクラッシュ処理フレームワークを使いましょう。これは、サーバーやサービスにクラッシュを収集するのに役立つだけでなく、以前の実行でアプリがクラッシュしたかどうかを確認するプロパティも提供します。 1つのケースは、メモリの過剰使用のためにアプリが強制終了された場合でも処理できません。対応するデリゲートを追跡することは、プロセスが強制終了されるかどうかを示すものではないため、あまり役に立ちません。 – Kerni

0

については

- (void) applicationDidFinishLaunching: (UIApplication *) application 
{ 
    NSSetUncaughtExceptionHandler (&myExceptionHandler); 
} 
.... 
- (void) myExceptionHandler (NSException *exception) 
{ 
    // Make a note in your default settings 
    // User needs to log in 
} 

を追加し、私は、デバイスを知るためのアプリのための方法を知りません電源がオフになっています。アプリケーションが終了した時点を意味する場合は、読み込みを開始してください。

それとも

-(void)applicationDidBecomeActive:(UIApplication *)application 

のロジックを固執し、両方のシナリオをキャッチ。

関連する問題