1

アプリケーションには、状態情報を保存および復元する機能があります。API の shouldSaveApplicationState と shouldRestoreApplicationState を App デリゲートで使用し、application:willEncodeRestorableStateWithCoder と application: didDecodeRestorableStateWithCoder を対応するビュー コントローラー クラスで使用します。したがって、アプリケーションは、任意の状態からアプリケーションを強制終了した後でも状態を復元します。これは、iOS 8.x までは正常に機能していました。

iOS 9.x 以降、アプリをフォアグラウンドから強制終了した場合、復元が機能しないことが判明しました。これは、アプリケーションの再起動中に shouldRestoreApplicationState メソッドがトリガーされないためです。

他のすべてのシナリオでは、アプリケーションの復元機能は正常に機能しています。

アプリケーションのコード変更はありませんが、アプリケーションの動作が異なります。

これはアプリケーションの重要な機能の 1 つなので、助けてください。

4

1 に答える 1

1

これは仕様によるものです。以下は、Apple のドキュメントからのものです。

ユーザーがアプリを強制終了すると、システムはアプリの保持状態を自動的に削除します。アプリが強制終了されたときに保持されている状態情報を削除するのは、安全上の予防措置です。(安全上の予防措置として、起動中にアプリが 2 回クラッシュした場合、システムは保持された状態も削除します。) アプリの状態を復元する機能をテストする場合は、デバッグ中にマルチタスク バーを使用してアプリを強制終了しないでください。代わりに、Xcode を使用してアプリを強制終了するか、一時的なコマンドまたはジェスチャをインストールして exit をオンデマンドで呼び出すことにより、プログラムでアプリを強制終了します。

于 2016-05-15T03:47:44.247 に答える