3

奇妙な問題があります。タスクマネージャーでアプリを閉じると、アプリがクラッシュします

int retVal = UIApplicationMain(argc, argv, nil, @"AppDelegate");

「Thread : 1 signal SIGKILL」エラーをスローし、アプリをまったく開くことができません。それ以外の場合は、かなりうまく機能します。この問題で誰か助けてください。私はcocos-2dを初めて使用するので、優しくしてください:(、ありがとう。

4

1 に答える 1

4

私の知る限り、これは正常で予期される動作です。奇妙に思える理由は、Xcode から実行すると、実行可能ファイルが Xcode のデバッガーにアタッチされるため、実行が妨げられることがあるためです (たとえば、クラッシュや SIG_KILL シナリオ)。これは、タスクバーを使用してアプリを閉じるときにAppleが何をしているのかについてのヒントを提供しているだけです...プロセスにSIGKILLを送信します:-)

編集: 好奇心のために、少しテストしたところ、applicationWillTerminate:最初に呼び出されていないことがわかりました。これは、アプリの消費者として実際に励みになります。あなたは本当にこれらのことをSIGKILLしています。これは、(バックグラウンド処理ワークフローで)そのメソッドが呼び出される唯一のケースは、バックグラウンド実行をオプトアウトする場合であることを意味すると思います。幸いなことに、この方法でアプリを強制終了するには、最初にアプリをバックグラウンドに移動する必要があるため、ティアダウンの標準的な場所は applicationWillResignActive です

編集: 再実行できない問題を回避するための手順:

  1. Xcode からデバイスでアプリをビルドして実行する
  2. アプリが「稼働中」になったらすぐに、Xcode で「停止」をクリックします。
  3. アプリが閉じられると、Xcode から「分離」され、必要に応じて何度でもアプリを終了して再度開くことができます。NSLog 呼び出しなどを Xcode に記録しなくなることに注意してください。
于 2012-07-07T06:28:04.383 に答える