在iOS6上发生故障presentViewController:但不在iOS5上

时间:2012-09-14 15:56:28

标签: xcode viewcontroller ios6

当我使用Xcode 4.5 GM种子在iOS6模拟器上运行我的应用程序时,此代码崩溃:

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上发生了什么事?

2 个答案:

答案 0 :(得分:3)

initWithNibName:bundle:是UIViewController的指定初始化程序,iOS6中有一些新功能。

您可以尝试修改LoginController_iPhone.xib并删除其控制器:

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

它对我有用。 希望这有帮助。

答案 1 :(得分:-1)

我正在处理的应用程序,在我尝试访问通讯录时会崩溃而没有任何痕迹。 ABAddressBookRef或ABAddressBookCreate具有应用程序访问联系人权限的权限,将使应用程序崩溃。希望这有帮助!