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), а затем запустите приложение, оно снова рухнет, на этот раз перейдите к симулятору и нажмите на настройки сброса и все остальное. Теперь запустите приложение снова, сделанное :)!

  • Как избежать «предупреждения об отключении CoreAnimation с незафиксированным CATransaction», если НЕ использовать CoreAnimation
  • Покупки iOS In-App: Недействительный идентификатор продукта Sandbox
  • IOS Custom UIBarbuttonItem изменяет позицию в подробном представлении
  • Поддерживает ли Trigger.io iOS 6?
  • Идентификаторы поставщика Не работает в версии iOS 5.0
  • MKMapView setRegion to Small Area приводит к сбою загрузки спутникового изображения
  • Просмотр капель 20 пикселей при сборке против iOS 6 SDK в Xcode 4.5
  • Тест Если обновление версии работает нормально
  • iOS 6 Вращение: нажатие контроллера View
  • UITableView должен выглядеть как «Контакты с полями редактирования»
  • iOS MKLocalSearch возвращает только 10 результатов
  • Давайте будем гением компьютера.