2012-09-14 72 views
1

當我運行我的iOS6的模擬器應用程序和Xcode 4.5 GM種子這段代碼崩潰:崩潰對iOS6的presentViewController:但不是在iOS5的

if ([[[UIDevice currentDevice] systemVersion] isEqualToString:@"6.0"]) { 
    XLog(@"hier checken"); 

    self.tabBarController = [[UITabBarController alloc] init]; 

    self.window.rootViewController = self.tabBarController; 
    [self.window makeKeyAndVisible]; 

} 

[...] 

self.loginController = [[[LoginController alloc] initWithNibName:@"LoginController_iPhone" bundle:nil] autorelease]; 

self.loginController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; 

//this line occurs a crash on iOS 6 (simulator, device not tested) 
[self.tabBarController presentViewController:self.loginController 
             animated:YES 
             completion:nil]; 

的崩潰是一個SIGABRT。沒有關於崩潰的更多信息。

在iOS6上發生這種崩潰的是什麼?

+0

你可以發佈崩潰日誌嗎? (即使它只是SIGABRT)? –

+0

我沒有收到控制檯中的任何崩潰日誌。 – brush51

+0

我唯一可以建議的是評論一切,然後取消註釋一行,運行並繼續循環,直到它崩潰(或者您可以通過斷點逐步完成)。你會知道爲什麼它崩潰 –

回答

3

initWithNibName:bundle:是UIViewController的指定初始值設定項,在iOS6中有一些新的東西。

你可以嘗試修改您的LoginController_iPhone.xib並刪除其控制器:

enter image description here---->enter image description here

這對我的作品。 希望這有助於。

+0

我也試過用我所有的視圖控制器,之後,我有新的錯誤,所以這個問題是固定的。那是正確的答案,謝謝! – brush51

-1

我正在研究的一個應用程序,當我試圖訪問地址簿時會崩潰而沒有任何痕跡。 ABAddressBookRef或ABAddressBook創建並允許您的應用程序訪問關閉的聯繫人,將導致應用程序崩潰。希望這可以幫助!

+0

我不在我的應用程序中使用地址簿。這個問題有什麼不同。 – brush51

+0

查找您在LoginViewController中使用的任何已棄用的apis。我遇到的大部分iOS6相關的碰撞事件都與此無關。我希望每個發佈的新操作系統都有一個已棄用的API列表。順便說一句,嘗試在編譯器設置中將「處理警告作爲錯誤」選項。這應該告訴你哪些不贊成使用的APIs –

+0

我在xcode中沒有警告。已經使用了所有不推薦使用的警告。我不明白:'shouldAutorotateToInterfaceOrientation'已被棄用,但我沒有得到這種方法的警告。任何想法? – brush51

相關問題