iOS 6保存/恢复应用程序状态功能

Chr*_*ris 15 ios ios6

我正在尝试在iOS 6上使用新的保存/恢复应用状态功能,但是如果我杀了应用程序以便它不会恢复应用程序状态,则不会调用(application:shouldRestoreApplicationState :)方法,但如果我正在运行它来自它调用的调试器.

当我在plist中添加(Application不在后台运行)并将其设置为YES时,它工作正常,我不想将其设置为YES.我想知道是否有人在没有设置(应用程序不在后台运行)到YES的情况下工作.

rbr*_*own 27

来自Apple文档:

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

根据经验,最简单的方法是通过按主页按钮(或模拟器的Command + Shift + H)将您的应用程序置于后台.然后使用Xcode停止按钮.正如文档建议的那样,调试退出手势也可以.

更新:

我找到了一个小工作.该应用程序将其状态保存在库/保存的应用程序状态/ [捆绑ID] - [应用程序名称] .savedState/data.data中.

使用模拟器时,您可以复制此文件并在要还原到该特定状态的任何时候将其删除.

同样,在设备上,您可以从组织者生成.xcappdata存档.然后,您可以在要从该已保存状态还原时上载.xcappdata存档.

  • 是的,我曾经把它发送到后台并停止Xcode并再次启动它,它工作正常.但是在WWDC会话中他杀了应用程序并且它有效,这就是为什么我试图通过杀死应用程序来实现它的工作原理是通过添加(应用程序不在后台运行)在plist中工作,但是想知道id在那里离开应用程序在后台运行时的任何其他方式. (4认同)
  • 文档的链接被破坏(引用的文本可能已更改).新的URL是:https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/StrategiesforImplementingYourApp/StrategiesforImplementingYourApp.html#//apple_ref/doc/uid/TP40007072-CH5-SW31 (2认同)