1

应用程序具有保存和恢复状态信息的功能。它在 App 委托中使用 API shouldSaveApplicationState 和 shouldRestoreApplicationState,在相应的视图控制器类中使用 application:willEncodeRestorableStateWithCoder 和 application:didDecodeRestorableStateWithCoder。因此,即使在从任何状态强制退出应用程序后,应用程序也会恢复状态。这在 iOS 8.x 之前运行良好。

从iOS 9.x 开始,发现应用程序从前台强制退出时恢复不起作用。这是因为再次启动应用程序时不会触发 shouldRestoreApplicationState 方法。

在所有其他情况下,应用程序恢复功能按预期正常工作。

我们的应用程序没有进行任何代码更改,但应用程序现在的行为有所不同。

请帮助,因为这是应用程序的关键功能之一。

4

1 回答 1

1

这是设计使然。以下来自Apple 文档

当用户强制退出应用时,系统会自动删除应用的保留状态。在应用程序被杀死时删除保留的状态信息是一种安全预防措施。(作为安全预防措施,如果应用程序在启动过程中崩溃两次,系统也会删除保留状态。)如果您想测试应用程序恢复其状态的能力,则不应在调试期间使用多任务栏杀死应用程序。相反,使用 Xcode 终止应用程序或通过安装临时命令或手势以按需调用退出以编程方式终止应用程序。

于 2016-05-15T03:47:44.247 回答