15

AppDelegateのメソッドにいくつかのコードがありますが、applicationWillTerminate:それが機能するかどうかをテストする方法がわかりません。Xcode を使用してシミュレーターを停止しても、トリガーされません。

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

これは、デバイスではなくシミュレータに固有のものであることに注意してください。

4

3 に答える 3

18

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

于 2012-12-29T07:43:43.403 に答える
1

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

ここに画像の説明を入力

于 2016-02-12T03:29:46.277 に答える
1

それが私と一緒に機能した唯一の方法は、次の手順を実行した後でした。

  1. ターゲット スキーマを編集する
  2. Runタップを選択
  3. Wait for the execution to be launched起動オプションとして選択
  4. Xcode からアプリを実行する
  5. シミュレーター/デバイスでアプリを開く
  6. ホームボタンをダブルクリック
  7. アプリをバックグラウンドから削除する

実行が開始されるのを待ちます

于 2021-02-03T16:49:53.307 に答える