GLKViewControllerPauseOnWillResignActiveCoderKey的NSInvalidUnarchiveOperationException

时间:2013-09-27 02:19:23

标签: ios xcode

更新到xCode 5后,在iOS 5和iOS 6模拟器上运行我的应用程序时出现以下错误。它在iOS 7上运行良好。此代码与xCode升级之前的工作相比没有修改。

* Terminating app due to uncaught exception 'NSInvalidUnarchiveOperationException', reason: '* -[NSKeyedUnarchiver decodeInt32ForKey:]: value for key (GLKViewControllerPauseOnWillResignActiveCoderKey) is not an integer number'

许多其他较旧的帖子都指向关闭AutoLayout,我确认已关闭。

在同一个项目中,我添加了一个新的故事板并进行了测试。空白的故事板装得很好。然后我在新的故事板中添加了一个GLKView控制器,出现了同样的错误。

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。从iOS 5到6时,自动布局导致问题,因此它不是此问题的根源。相反,看起来这种类型的问题会出现一般的iOS兼容性问题。在这种情况下,它是GLKViewController的一些新问题。我发现另一篇文章建议将故事板上的“打开...”设置更改为XCode 4.6,但这并没有解决问题。

最终为我修复的是完全删除故事板。对我来说,在整个项目中制作一个只有1个UIViewController的C ++游戏,以及一个简单的故事板,这个工作正常,只花了一分钟。

为此,您需要转到项目设置 - >一般 - >部署信息并删除“主界面”中的值。然后,在application:didFinishLaunchingWithOptions:中,执行以下操作:

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] ;

GameVC* gameVC = [[GameVC alloc] init];
self.window.rootViewController = gameVC;

[self.window makeKeyAndVisible];

return YES;