0

更新到 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 控制器,并且出现了同样的错误。

4

1 回答 1

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;
于 2013-09-29T07:18:49.923 回答