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