iPhone シミュレーターでプロジェクトをビルドして実行します。ホームボタンを押してバックグラウンドに送ります。次に、ホーム ボタンを 2 回押して、バックグラウンドでアプリを見つけてタップします。アクティブになり、アプリは引き続き実行されます。ここは何度繰り返しても問題ありません。次に、アプリのアイコンにある小さな赤いマイナス記号をタップして、プロセスを強制終了します。しかし、アプリのアイコンをもう一度タップして再起動すると、SIGKILL エラーが発生し、アプリがクラッシュします。この理由は何でしょうか?XCode の設定が原因でしょうか?
7478 次
2 に答える
23
これは実際にはクラッシュではありません。小さな赤いマイナス記号をタップしたときの XCode の反応が遅れているだけです。この方法でアプリを終了すると、オペレーティング システムは SIGKILL シグナルをプロセスに送信しますが、XCode のデバッガーはアプリを再起動するまで SIGKILL を「認識」しません。
ちなみに、デバッガーの [続行] ボタンをクリックすると、この "クラッシュ" から "回復" できます。
于 2011-07-15T06:36:03.767 に答える
1
デバッガーがアプリから正常にデタッチされなかった場合、シミュレーターで同様のクラッシュが発生しました。小さな赤いマイナス記号をタップしてアプリを強制終了するのではなく、Xcode で「停止」ボタンを押してみてください。
これがデバッガーに関連していることをさらに確認するには、Xcode でビルドして実行するのではなく、アイコンをタップしてアプリを初めて実行してみてください。次に、赤い X をタップして強制終了し、再起動します。デバッガーが接続されていなくてもクラッシュする場合、私の仮説は無効です。
于 2011-07-15T06:08:41.940 に答える