2013-09-27 29 views
0

更新到xCode 5後,在iOS 5和iOS 6模擬器上運行我的應用程序時出現以下錯誤。它在iOS 7上運行良好。此代碼未根據xCode升級之前的工作情況進行修改。GLKViewControllerPauseOnWillResignActiveCoderKey的NSInvalidUnarchiveOperationException

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

許多其他舊帖子指出關閉AutoLayout,我確認關閉。

在同一個項目中,我添加了一個新的故事板並進行了測試。空白故事板加載得很好。然後我添加了一個GLKView控制器到新的故事板,同樣的錯誤出現了。

回答

1

我遇到了這個完全相同的問題。自動佈局從iOS 5轉到6時會引發問題,所以它不是這個問題的根源。相反,它看起來像這種類型的問題與一般的iOS兼容性問題發生。在這種情況下,這是GLKViewController的一個新問題。我發現另一篇文章建議將故事板上的「打開...」設置改爲XCode 4.6,但這並沒有解決問題。

最終爲我修復它是完全刪除故事板。對於我來說,在整個項目中只製作一個UIViewController的C++遊戲,以及一個簡單的故事板,這個工作正常,只需要一分鐘。

要做到這一點,您需要進入項目設置 - >常規 - >部署信息並刪除「主界面」中的值。然後,在應用程序中:didFinishLaunchingWithOptions:,做這樣的事情:

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

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

[self.window makeKeyAndVisible]; 

return YES; 
相關問題