Iphone 没有任何谷歌搜索结果的神秘警告[在模拟器中]

Iphone 没有任何谷歌搜索结果的神秘警告[在模拟器中],iphone,ios,xcode,ios7,state-restoration,Iphone,Ios,Xcode,Ios7,State Restoration,我在iOS项目中得到这个警告:(iOS7,XCode 5 GM) 警告:无法创建正在进行的恢复标记文件 我正在使用一个viewcontroller,当我在启动时收到此警告时,它会变成全黑。 删除应用程序并重新启动XCode有时似乎会有所帮助。我对这两个问题都不回答 -(BOOL)application:(UIApplication *)application shouldRestoreApplicationState: -(BOOL)application:(UIApplication *)ap

我在iOS项目中得到这个警告:(iOS7,XCode 5 GM)

警告:无法创建正在进行的恢复标记文件

我正在使用一个viewcontroller,当我在启动时收到此警告时,它会变成全黑。 删除应用程序并重新启动XCode有时似乎会有所帮助。我对这两个问题都不回答

-(BOOL)application:(UIApplication *)application shouldRestoreApplicationState:
-(BOOL)application:(UIApplication *)application shouldSaveApplicationState:
更新1:我在iPhone4s上测试过。同样的结果。“我的视图”控制器上的警告和黑屏


更新2:回答了我自己关于黑屏的问题。警告在最新的iOS 7.0.x版本中消失。

请确保在情节提要文件中将视图控制器设置为初始视图控制器。您将在属性检查器中找到此设置

更新

听起来您可能没有向导航控制器本身添加还原ID,而是在子视图控制器上设置了还原ID。如果是这种情况,您应该向丢失的控制器添加恢复id


我不知道为什么会在控制台中打印此消息,但我认为这是iOS中的某种错误。通过最新的iOS 7更新,我不再收到“警告:无法创建正在进行的恢复标记文件”

更有趣的部分是黑屏。 当您有一个普通的ViewController和一个TableView在里面时,就会发生这种情况。 我必须在ViewController的view属性和基本视图之间创建两个出口(除了表视图,还有更多视图,这就是我必须使用通用视图控制器的原因)。每个ViewController都有一个自动连接,这真的很奇怪。我认为这又是某种iOS错误。

添加

UIViewControllerRestoration

帮我解决了。如果单击协议参考,它会显示:

// A class must implement this protocol if it is specified as the restoration class of a UIViewController.


@import UIKit;

@interface AppDelegate : UIResponder <UIApplicationDelegate, UIViewControllerRestoration>

@property (strong, nonatomic) UIWindow *window;

@end
在我的应用程序中从未调用,并且恢复工作没有警告或错误


我想了解问题和正在发生的事情。我希望这对您有所帮助,欢迎您发表评论以澄清问题。:)

我也收到了这个警告,不确定是什么原因导致了视图控制器是如何创建的?它们是在故事板中,还是在NIB中,或者是在你的应用程序代理中创建的,或者……我使用的是以导航视图控制器为基础的故事板。我正在努力整合国家重建。即使在应用程序重新启动时(已删除并再次部署),也会显示此消息。我昨天注意到了其他内容。ViewController通过故事板使用initWithCoder来初始化自身。我在BaseViewController上犯了一个编码错误(我将它用作所有ViewControllers的基础)。我调用了正常的[super init]方法,而不是我应该调用的[super initWithCoder:aDecoder]。这个错误使我的初始屏幕完全变黑,没有任何错误。不幸的是,这并没有回答我的问题。@evgeniprov-请查看我的更新答案。我认为问题是由于您的一个导航控制器上缺少恢复id造成的。这张图来自《国家保护和修复指南》,我已经完成了这项工作。否则我会一直被黑屏遮住。只有当我以模态方式显示特定视图时,我才能获得它。我只有一个NavController作为我的基础,并且我已经设置了它的恢复id。@evgeniprov-除了控制器级别之外,是否还为tableview和其他要恢复的视图设置了恢复id?这个博客提供了一个解构示例()的好例子,我不保留任何带有状态恢复的UIView。我只需按viewcontroller保存数据,然后从数据恢复UI状态。这可能是这个奇怪警告的原因吗?@evgeniprov我建议将恢复id添加到视图中,以查看这是否会影响黑屏效果。
+ (UIViewController*) viewControllerWithRestorationIdentifierPath:(NSArray *)identifierComponents
                                                            coder:(NSCoder *)coder {}