Сбой на iOS6 PresentViewController: но не на iOS5

Этот код дает сбой, когда я запускаю свое приложение на iOS6 Simulator с Xcode 4.5 GM Seeds:

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?


person brush51    schedule 14.09.2012    source источник
comment
можешь выложить крашлог? (даже если это просто SIGABRT)?   -  person Nitin Alabur    schedule 18.09.2012
comment
я не получаю журнал сбоев в консоли.   -  person brush51    schedule 19.09.2012
comment
единственное, что я мог бы предложить, это прокомментировать все, а затем раскомментировать одну строку, запустить и продолжать цикл до тех пор, пока он не рухнет (или вы можете просто выполнить его с помощью точки останова). Вы узнаете, почему он падает   -  person Nitin Alabur    schedule 19.09.2012
comment
У меня была аналогичная проблема. Просто чтобы быть уверенным, используете ли вы адресную книгу в своем контроллере входа в систему?   -  person Nitin Alabur    schedule 19.09.2012
comment
проблема где-то в Xib. я думаю, что в Xcode 4.5 есть что-то новое с xib. но так и не узнал.   -  person brush51    schedule 20.09.2012


Ответы (2)


initWithNibName:bundle: — это назначенный инициализатор для UIViewController, и в iOS6 есть кое-что новое.

Вы можете попробовать изменить свой LoginController_iPhone.xib и удалить его контроллер:

введите здесь описание изображения----> введите здесь описание изображения

Меня устраивает . надеюсь это поможет.

person Carina    schedule 02.10.2012
comment
Я также попробовал это со всеми моими контроллерами представления, после чего у меня появились новые ошибки, поэтому эта проблема исправлена. это правильный ответ, спасибо! - person brush51; 08.10.2012

Приложение, над которым я работал, вылетало без каких-либо следов, когда я пытался получить доступ к адресной книге. ABAddressBookRef или ABAddressBookCreate с отключенным разрешением для вашего приложения на доступ к контактам приведет к сбою приложения. Надеюсь это поможет!

person Nitin Alabur    schedule 19.09.2012
comment
я не использую адресную книгу в своем приложении. дело в чем-то другом. - person brush51; 20.09.2012
comment
Найдите любой устаревший API, который вы используете, в файле LoginViewController. Большинство сбоев, связанных с iOS6, с которыми я сталкивался, которые не имеют следов, связаны с этим. Я бы хотел, чтобы для каждой новой выпущенной ОС был список устаревших API. Кстати, попробуйте включить опцию обработки предупреждений как ошибок в настройках компилятора. Это должно показать вам, какие устаревшие API вы используете. - person Nitin Alabur; 20.09.2012
comment
у меня нет предупреждений в xcode. отработали все устаревшие предупреждения. что я не понимаю: shouldAutorotateToInterfaceOrientationустарел, но я не получаю предупреждений об этом методе. Есть идеи? - person brush51; 21.09.2012
comment
к сожалению, я также не получил никаких предупреждений о методе адресной книги. Я не уверен, что это ошибка в IDE, или я что-то упустил. - person Nitin Alabur; 21.09.2012