ユーザーがアプリケーションにログインすると、JSON サーバーからトークンをダウンロードし、NSUserDefaults に保存します。
[[NSUserDefaults standardUserDefaults] setValue:token forKey:TOKEN];
ユーザーが後続のページでログアウトすると、このメソッドを呼び出してログイン画面に戻ります。
[[NSUserDefaults standardUserDefaults] setObject:@"" forKey:TOKEN];
(そしてその前に [[NSUserDefaults standardUserDefaults] removeObjectForKey:TOKEN] を呼び出しました;)
このユーザーのデフォルトをどのように削除しようとしても問題ありません。アプリをロードするたびに、空の文字列や null 値ではなく、常に完全なトークンが表示されます。
周りを読んでいると、明らかに読み書きサイクルと関係がありますか?しかし、しばらく放置しても鍵は残ります。これはシミュレーターの問題ですか?
原因が何であれ、どうすればこれを回避できますか?