我正在使用Xcode 4和我的軟件在iPhone 4和模擬器上工作良好,但是當我在iPhone 2G或3Gs等設備上測試它時,我立即發生此錯誤代碼:Xcode 4 iphone 3.1.3應用程序不工作
由於未捕獲的異常'NSUnknownKeyException'而終止應用,原因:'[setValue:forUndefinedKey:]:該類不是密鑰值編碼兼容的密鑰rootViewController。
尋找解決我建立一個Hello World程序並沒有對iPhone 3GS的工作問題的方式......搜索,我發現這個解決方案:
// self.window.rootViewController = self.viewController; [self.window addSubview:[self.viewController view]];
使用addsubview這樣,程序應該運行正常......
好了的Hello World運行良好,但我的程序不會在所有的工作......
也許這是我的代碼應該改變......(但現在我不真的..)
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
//this and application should run on 3.1.3
if ([self.window respondsToSelector:@selector(setRootViewController:)])
self.window.rootViewController = self.viewController;
else
[self.window addSubview:self.viewController.view];
// Add registration for remote notifications
[[UIApplication sharedApplication]
registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)];
// Clear application badge when app launches
//application.applicationIconBadgeNumber = 0;
[self.window makeKeyAndVisible];
return YES;
}
我搜索一下這個問題,但我每次搜索,我發現只有改變行 self.window.rootViewController = self.viewController一些信息;
但不幸的是沒有多大幫助。
感謝你們爲您耐心:)
編輯:
我的代碼
if ([self.window respondsToSelector:@selector(setRootViewController:)])
self.window.rootViewController = self.viewController;
else
[self.window addSubview:self.viewController.view];
改變
[self.window addSubview:self.viewController.view];
但錯誤還是一樣。 ..
我用rootViewController評論代碼,我使用'[self.window addSubview:self.viewController.view];'但沒有改變...同樣的錯誤...也許某處有另一個調用該方法.. – ilmetu
我在整個程序中搜索,但沒有其他調用該屬性...仍然錯誤** [ setValue:forUndefinedKey:]:此類不是密鑰值編碼兼容的關鍵rootViewController。 ** –
ilmetu