アプリケーションが実行中に作成するデバッグ ファイルを調べていたところ、奇妙な動作が見られました。アプリケーションはNSURLConnction、サーバーからデータを取得するために使用します。接続が開始された後、ユーザーがホーム ボタンを押してアプリケーションをバックグラウンドに移動した可能性があります (application:willResignActiveメソッドapplication:didEnterBackgroundが呼び出されました)。application:didEnterBackgroundが呼び出された後、コードで接続が処理されていることがわかりました。(デリゲートの は の後に呼び出されましたconnectionDidFinishLoading) 。の実装ではいくつかの操作を実行しますが、この時点でアプリケーションはおそらく中断され、コードは呼び出されませんでした。その後、ほぼ 12 時間後にユーザーがアプリケーションを再度起動し (アプリケーションは終了せず、バックグラウンドでのみ実行されました)、コードは停止した時点から実行を続けました。NSURLConnectionapplication:didEnterBackgroundconnectionDidFinishLoadingapplication:willEnterForegroundとapplication:didBecomeActive呼ばれた)。それはシーンを作りますか?アプリケーションがフォアグラウンドに入る前に実行されていたコードの一部が、アプリケーションの内部状態を変更し、奇妙な動作を引き起こしました。
それを解決する方法はありますか?