5

私はapplicationWillTerminate:土壇場でのものを保存するために使用しています。しかし問題は、それが呼び出されないことです。メソッドの先頭でこのようなことをするNSLog(@"Something");と、呼び出されず、コンソールに出力されません。

なぜこれが起こっているのか誰にも分かりますか?

4

4 に答える 4

12

Apple ドキュメントから:

バックグラウンド実行をサポートしていないアプリケーション、または iOS 3.x 以前にリンクされているアプリケーションの場合、このメソッドは、ユーザーがアプリケーションを終了するときに常に呼び出されます。バックグラウンド実行をサポートするアプリケーションの場合、通常、ユーザーがアプリケーションを終了してもこのメソッドは呼び出されません。その場合、アプリケーションは単にバックグラウンドに移行するためです。ただし、このメソッドは、アプリケーションがバックグラウンドで (中断されずに) 実行されており、何らかの理由でシステムがアプリケーションを終了する必要がある場合に呼び出すことができます。

アプリでバックグラウンドが有効になっている場合:

- (void)applicationDidEnterBackground:(UIApplication *)application

于 2011-09-14T13:28:36.063 に答える
5

applicationDidEnterBackground:代わりに使用してください。マルチタスク システムでホーム ボタンを押しても、アプリケーションは終了しません。

于 2011-09-14T13:28:52.017 に答える
1

コア アプリケーションの設計とアプリケーションの寿命に関するiOS アプリケーション プログラミング ガイドから:

アプリケーションが現在中断されている場合、applicationWillTerminate: メソッドは呼び出されません。

iOS 4.0 に対してリンクしている場合は、 にもデータを保存する必要がありますapplicationDidEnterBackground:

于 2011-09-14T13:30:14.747 に答える
1

ステップ 1: command + shift + h (ダブルクリック (タブ))

ステップ 2: アプリを上に移動 (kill)

ステップ 3: applicationWillTerminate 作業

于 2016-02-19T09:33:33.280 に答える