2012-12-29 13 views
9

私のAppDelegateのコードにはapplicationWillTerminate:というメソッドがありますが、動作するかどうかテストする方法はわかりません。 Xcodeを使用してシミュレータを停止しても、それを起動することはできません。iOSシミュレータのアプリケーションを停止しないのはなぜですか?applicationWillTerminate:?

applicationWillTerminateでコードをテストするにはどうすればいいですか:

これは、デバイスではなくシミュレータ固有のものです。

+0

おそらくそれを殺す。 iOS 4以降、アプリは終了しても終了しないため、アプリは一時停止されています。 –

+0

そのメソッドのコードは 'applicationDidEnterBackground:'にあるはずです - それは何をしますか? – jrturton

+0

NSUserDefaultsを同期します。私はそれを 'applicationDidEnterBackground:'に入れました。 – duci9y

答えて

12

スプリングボードがあなたにキルコード(SIGABRT)を送信していないため、シミュレータはapplicationWillTerminate:を送信しません.LLDBはです。これらのデリゲートメソッドをトリガーするには、ホームボタンコマンド(⌘+⇧+ H)を使用してマルチタスキングドロワーをプルアップし、そこからアプリケーションを終了する必要があります。デバッグセッションが直ちに終了し、デリゲートメソッドが正常に起動します。

+0

ありがとう、それは動作します! – duci9y

+0

いつでも乾杯! – CodaFi

+6

悲しいことに、iOS 9.1でビジネスを行っていない –

0

iOS 9.1(おそらくこれ以前)では、家をダブルクリックしてアプリを上にドラッグして終了すると、これが機能するように見えます。デスクトップからそれを行うとこのイベントは発生しません。アプリがシミュレータで開いている間に発生する必要があります。

enter image description here

関連する問題