2012-04-16 13 views
0

私のアプリがiPhoneによって完全にリセットされる理由はありますか?iOSによってアプリがリセットされるのはなぜですか?

私は、タイマーごとに通知を持つタイマーを持つタイマーアプリケーションを持っています。アプリが完全にリセットされ、アプリが一度も実行されなかったかのように、すべてのタイマーが停止してリセットされることがあります(電話の充電に関連する場合もあります)。

アプリがnil-outに電話をかけてもらえますか? NSUserDefaults(または同様の)でタイマーが起動していることを示すBOOLとタイマーの開始時間を格納する必要がありますか?

ありがとうございます。

マイケル

答えて

2

アプリケーションは、このようにあなたのようなハードデータ心配の一定の状態で私たちの開発者を残して、OSやユーザーによってでいつでもの両方を死滅させることができます。必要がある場合は、次回のアプリの起動のためにNSUserDefaultに保存してください。

+0

このデータを保存してから復元するのに最適な場所はどこですか? applicationDidEnterBackgroundとapplicationDidEnterForeground? –

+0

特定のアクションまたはメソッドが呼び出された後にデータを保存することをお勧めします(ユーザーが新しいタイマーを保存または設定するときに押す)。また、App Delegateの 'applicationWillTerminate'メソッドに保存します。注:データを保存するには数秒しかかかりません。そのため、アプリを使用しているときにデータを保存するのがよい(少なくともすべてを失うことはありません)。 – sooper

+0

私の現在のアプリケーションでは、たとえば、ユーザーが別のページに移動するブックスタイルのアプリケーションでは、各ページめくりに保存し、appWillEnterBackgroundとappWillTerminateに保存します(最後は不要ですそれは私が知っている限り前景にありますが、ただ安全です) – borrrden

関連する問題