NSInternalInconsistencyException uncaught exception «NSInternalInconsistencyException», причина: «Не удалось загрузить NIB в пакете: NSBundle с именем

У меня странная ошибка в приложении iOS. С вчерашнего дня все хорошо работало, и сегодня я сделал некоторые улучшения в контроллере представления, который не имеет ничего общего с AppDelegate, и когда я попытался проверить изменения, которые я сделал на симуляторе, я получил эту ошибку:

* Завершение приложения из-за неперехваченного исключения «NSInternalInconsistencyException», причина: «Не удалось загрузить NIB в пакете:« NSBundle (загружен) »с именем« xxx »

Я много искал в Google и на этом веб-сайте, чтобы попытаться найти решение, и все темы, которые я нашел, касались проблем с xib-файлами. Тем не менее, я использую раскадровки, а мое приложение – iOS6.1, так что у меня нет файлов xib … Я также проверил, что раскадровка была включена в «Build Phases», и все кажется правильным: s. Я знаю, что эта ошибка может произойти, когда некоторые файлы были включены в Finder, но не в Xcode, однако это не относится ко мне: я всегда включал файлы непосредственно в Xcode и проверял опцию «копировать файлы в каталог». Я даже пытался отменить изменения, которые я сделал, и у меня все еще есть эта проблема, поэтому я действительно не знаю, что происходит. На этом этапе мое приложение очень простое, у меня просто есть пара контроллеров, подключенных через контроллер навигации и 1 внешняя инфраструктура (AFNetworking). Мой AppDelegate (где ошибка, похоже, происходит) чиста: я ничего не добавлял к образцу кода, который был предоставлен Xcode.

Я действительно застрял в этом вопросе, и надеюсь, вы сможете найти способ помочь мне решить эту проблему.

Сначала попробуйте использовать пункт меню Xcode / Product / Clean. Если это не так, перейдите в «Организатор», переключитесь на «Проекты» и удалите папку «Производные» для вашего проекта. Если вы сделаете второй, закройте Xcode и начните снова, чтобы убедиться, что все вытерто.

EDIT: если хотите, запишите эту вещь и отправьте ее на мой адрес электронной почты в моем профиле. Я могу потратить на это несколько минут, но, по крайней мере, посмотрю.

EDIT2: узнал несколько вещей здесь, но не исправил. То, что вы видите, это то, что StoryBoard пытается обработать rootViewController и не удается – делегат приложения даже не получает сообщений. Класс EventsTVC отправляется initWithCoder: а затем запрашивается имя nibName, которое оно возвращает. Это имя nibName является идентификатором в раскадровке – и это то, что внутренне Apple должно использовать для создания наконечника. Однако это не удается. Вы можете увидеть это имя, добавив это в EventsTVC:

 - (NSString *)nibName { NSLog(@"NIB NAME %@", [super nibName]); } 

Что я сделал, чтобы воспроизвести проблему, было создание нового приложения StoryBoard Master / Detail и добавление его в rootviewcontroller:

 - (NSString *)nibName { NSLog(@"NIB NAME %@", [super nibName]); return [[super nibName] stringByAppendingString:@"foo"]; } 

Это, конечно, делает nibName фиктивным, и это заставляет приложение терпеть неудачу там, где это делает, с тем же сообщением.

У вас есть два варианта: вы можете записать инцидент DTS на этом – посмотрите, можете ли вы заставить Apple исправить его (может занять несколько дней), или вы можете просто переделать проект и скопировать столько, что вы можете вернуть в новое приложение.

В любом случае было бы здорово, если бы вы могли отправить тот же ZIP-файл в Apple и создать на нем отчет об ошибке. Я подозреваю, что раскадровка коррумпирована внутри страны, но нет никаких общедоступных методов, которые можно было бы вникать в нее (посмотрите на UIStoryBoard).

Начиная с ios7 и Xcode 5, он делает это для меня каждое утро! Я не знаю, какой беспорядок они сделали в xcode, но это раздражает. Если вы хотите передать эту ошибку, перейдите к организатору, затем удалите «производные данные» (если каким-то образом он не хочет удаляться, удалите его в терминале с добрым старым rm -rf), а затем запустите приложение, оно снова рухнет, на этот раз перейдите к симулятору и нажмите на настройки сброса и все остальное. Теперь запустите приложение снова, сделанное :)!

  • iOS: как циклически перемещать объекты / свойства (элементы без интерфейса пользователя) объекта класса
  • iOS view.hidden = НЕТ не всегда работает
  • Xcode Показать только действительные идентификаторы подписи кода в настройках сборки
  • IOS - событие «коснуться» не для полноэкранного просмотра
  • Ползунок MobileVLCKit Не работает, когда я перетаскиваю или действую?
  • Как быстро сделать радиальные градиенты
  • Изображение UITabBar для UITabBarItem с раскадровки
  • iOS: не удается получить представление для отображения с помощью навигационного контроллера
  • Как я могу подтвердить учетную запись (например, Apple ID), введенную в приложение iPhone?
  • как делиться как текстом, так и Image to whatsapp directltly
  • Низкий уровень UILocalNotification для некоторых пользователей, любой способ его контролировать?
  • Давайте будем гением компьютера.