iPhoneアプリケーションがバックグラウンドで起動されたかどうかを指示する方法
-
15-09-2020 - |
質問
マイアプリケーションは、NSUSERDEFAULTSを使用して、アプリケーションの更新またはBackgroundingが終了した場合にそれらを復元できるように、いくつかの値を保存します。背景は、整数値を自動的に保存しますが、ユーザーがランチャーからアプリケーションを終了した場合、数値も失われ、バックグラウンドの入力時に発生しないViewDIDunLoadメソッドが発生します。アプリケーションがアンロードしたときいつでもNSUSERDEFAULTSを保存できる方法はありますか。また、ViewDidLoadメソッドには同じ問題があり、背景から呼び出されません。これの周りの方法は何ですか?
p.S。これまでのところ、私のアプリケーションの唯一のデータは、画面上のカウントのためのintです。
アップデート:UIapplicationDidenterBackgroundingNotificationはあなたの提案に最適です!
解決
最終的に殺される直前にデータを保存することはできませんが、 ApplicationDidenterBackground:アプリデリゲート。
ApplicationDidBecomeCtive :,バックグラウンドにあったアプリから呼び出されたときにデータをそこからロードする理由はありません。
他のヒント
あなたのアプリがバックグラウンドから起動されたかどうか、少なくともそれが現在設定されているのか、それがスプリングボードから起動された場合に同じイベントのシーケンスを取得するので、あなたは少なくともそれがどのように設定されているかを知ることができません。
JOOSTが言うように、ApplicationDidenterBackgroundコールバックの中で状態を復元する必要があるものをすべて保存する必要があります。基本的に、これが最後のメッセージであると仮定するべきですあなたのアプリが邪悪なプロセス刈り取り店によって実体を殺害する前に到達する前に到達するでしょう。
Session Videos 、具体的には、セッション105 - iPhone OS上でマルチタスクを採用する、徹底的な説明のためのパート1。