我正在存储我的应用程序屏幕,因此当应用程序打开时,它将显示已存储的屏幕。该应用程序是基于导航的。
我已将Restoration ID分配给主故事板中的两个视图控制器。第一个控制器是导航控制器的根视图控制器。我还为导航控制器分配了Restoration Id。 现在的问题是,当我运行应用程序时,我收到以下警告:
无法在进度标记文件中创建恢复。
不确定还需要做什么。
答案 0 :(得分:9)
之前我有同样的警告并通过以下方式修复它。
我在使用故事板。我的故事板只包括导航视图控制器和视图控制器(该导航视图控制器的根视图控制器)。就我而言,这是由以下两个原因引起的:
未正确设置应用程序以进行状态保存 需要设置以下内容:
在app delegate中,覆盖应用程序:willFinishLaunching。可以在该方法中简单地返回YES。
对于每个视图控制器和视图(包括导航视图控制器和选项卡视图控制器),设置还原ID
在app delegate中,通过覆盖shouldSaveApplicationState
和shouldRestoreApplicationState
如果仍然出现此警告,您可以查看如何在Xcode中运行您的应用。我在Xcode模拟器中运行我的应用程序,并且必须遵循特定的顺序来触发状态保存。
encodeRestorableStateWithCoder
方法不应出现该警告。当我使用其他序列时,我看到出现了警告。当我使用Xcode在我的设备上调试我的应用程序时,我按照相同的顺序,没有看到警告。
我认为该警告表示由于Xcode无法正确终止应用程序,因此状态恢复文件未正确保存到磁盘上。
答案 1 :(得分:0)
尝试为您的View提供恢复ID。您可以这样做以打开xib或故事板并将ID分配给View Controller。
更多详情:http://useyourloaf.com/blog/2013/05/21/state-preservation-and-restoration.html
答案 2 :(得分:0)
尝试在设备上运行。