2013-08-24 3 views
0

У меня есть универсальное приложение, где я успешно обновил iPhone-компонент до ios7. Компонент ipad, однако, больше не работает. Я получаю следующее сообщение об ошибке:Преобразование из ios6 в ios7

, истекающий приложение из-за неперехваченного исключением «NSInvalidArgumentException», причина: «- [UISplitViewController TabBar]: непризнанные селектор направлен например 0x8d9eef0»

Я понятия не имею, что произошло. Я не касался ipad стороны вещей.

Я запускаю: сборку 11A4449d и 5A11365y для x-кода для Mac-машины.

После этого кода происходит ошибка:

- (void) awakeFromNib { 
    [super awakeFromNib]; 

    // whenever I come out of a storyboard, I make myself the delegate of any splitview I am in 
    self.splitViewController.delegate = self; 
} 
+1

Ошибка ясно говорит, что вы отправляете сообщение объекту, который не отвечает на это сообщение. Фрагмент кода, который вы предоставили, не помогает нам знать, что. Вам просто нужно пройти через это в отладчике, чтобы узнать, где иерархия диспетчера представлений отличается от ожидаемой. – Abizern

+0

Я снова просмотрел свой код. Имел точку останова на линии: - (BOOL) приложение: (UIApplication *) приложение didFinishLaunchingWithOptions: (NSDictionary *) launchOptions и понял, что я добавил код для изменения TabBarItems для iPhone. Очевидно, iPad не понравилось, поэтому я поместил эту строку кода: BOOL piPad = (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad); if (! PiPad) {<КОД, КОТОРЫЙ ВЫЗЫВАЛ ПРОБЛЕМУ ДЛЯ iPAD>). Это решило. – BitCracker

+0

Я рад, что вам удалось разобраться с вашей собственной проблемой. – Abizern

ответ

0

В этом методе: я установить выбранное изображение на панели вкладок для iPhone. Но не понял, что iPad не понравится. Поэтому я поставил для этого выборочное утверждение (if! IPad), чтобы исправить это.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

    BOOL piPad = (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad); 
    if (!piPad) 
    { 

     // ************************************************************************************************** 
     // Assign tab bar item with titles and selected images 
     UITabBarController *pTabBarController = (UITabBarController *)self.window.rootViewController; 

     UITabBar *pTabBar = pTabBarController.tabBar; 
     UITabBarItem *pTabBarItem0 = [pTabBar.items objectAtIndex:0]; 


     pTabBarItem0.title = @"List"; 


     pTabBarItem0.selectedImage = [UIImage imageNamed:@"tabBarList_30x30_selected"]; 
     pTabBarItem0.image = [UIImage imageNamed:@"tabBarList_30x30.png"]; 


     // ************************************************************************************************** 
    } 

    return YES; 
Смежные вопросы