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