我正在尝试在 iOS 6 上使用新的保存/恢复应用程序状态功能,但是如果我杀死了应用程序,则不会调用 (application:shouldRestoreApplicationState:) 方法,因此它不会恢复应用程序状态,但如果我正在运行它从调试器中被调用。
当我在 plist 中添加(应用程序不在后台运行)并将其设置为 YES 时,它起作用了,但我不想将其设置为 YES 。我想知道是否有人在未将(应用程序不在后台运行)设置为“是”的情况下使其正常工作。
来自苹果文档: https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/StrategiesforImplementingYourApp/StrategiesforImplementingYourApp.html#//apple_ref/doc/uid/TP40007072-CH5-SW31
当用户强制退出应用程序时,系统会自动删除应用程序的保留状态。当应用程序被终止时删除保留的状态信息是一种安全预防措施。 (作为安全预防措施,如果应用程序在启动过程中崩溃两次,系统还会删除保留的状态。)如果您想测试应用程序恢复其状态的能力,则不应在调试期间使用多任务栏来终止应用程序。相反,使用 Xcode 终止应用程序或通过安装临时命令或手势来按需调用退出以编程方式终止应用程序。
根据经验,最简单的方法是按主页按钮(或模拟器的 Command+Shift+H)将应用程序置于后台。然后使用 Xcode 停止按钮。正如文档所建议的,调试退出手势也有效。
Update:
我找到了一个小解决办法。应用程序将其状态保存在 Library/Saved Application State/[Bundle ID]-[App Name].savedState/data.data 中。
使用模拟器时,您可以复制此文件并将其放在您想要恢复到特定状态的任何时候。
同样,在设备上,您可以从管理器生成 .xcappdata 存档。然后,当您想要从保存的状态恢复时,可以上传 .xcappdata 存档。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)