1

なぜこれが起こっているのかわかりませんが、提案が私を助けると思います。

4つのビューコントローラーがあります。アプリを終了して(アプリがバックグラウンドに移動します)、アプリを再度開くと、アプリが再び起動されるため、アプリが開きます。代わりに、アプリを閉じた場所からビューコントローラーが開きます。

PS:アプリを完全に閉じていません。ホームボタンをタップするだけで、アプリがバックグラウンドになります。

私はappdelegateに何も書いていません。助言がありますか?

Thanks
4

4 に答える 4

5

私によると、アプリが毎回「再起動」する2つのシナリオがあります

-> iPhoneのホームボタンを押しているときにアプリがクラッシュした場合
非アクティブモードに移行しているときに、アプリが何らかの操作を実行しているかどうかを確認します。そのためにあなたのapplicationWillResignActive方法をチェックしてください。

->ファイルにフラグを設定UIApplicationExitsOnSuspend.plistした場合。
これにより、ユーザーが別のアプリに切り替えたときにアプリがバックグラウンドに移行しなくなります。

それでも問題がわからない場合は、次のapplicationDidFinishLaunchingようなメソッドに例外ハンドラーを追加することをお勧めします

- (void)applicationDidFinishLaunching:(UIApplication *)application { 
    NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler);
    // The rest if you code  ....
}

void uncaughtExceptionHandler(NSException *exception) {
    // You code here, you app will already be unload so you can only see what went wrong.
}
于 2013-03-23T18:11:50.407 に答える
3

アプリケーションがバックグラウンドに移行すると例外が発生する可能性があるため、代わりに強制終了されます。多分いくつかの間違った割り当て解除?

デバイスをデバッガーに接続し、アプリがバックグラウンドに移行したときに何が起こっているかを確認します。すぐに問題が発生するはずです。

于 2013-03-23T17:25:58.190 に答える
2

これが発生する理由はほとんどありません。

バックグラウンドで実行されているため、アプリケーションがクラッシュしている可能性があります。アプリケーションでコードを実行していると、アプリデリゲートにバックグラウンドが入力され、クラッシュが発生している可能性があります。

于 2013-03-23T17:45:39.663 に答える
0

私は答えを得たと思います、私はplistをチェックしました、そして私は持っていました

アプリケーションがバックグラウンドで実行されない:はい

NOに変更して動作しました。

于 2013-03-23T19:09:21.883 に答える