Не удалось загрузить NIB в комплекте: «NSBundle» - PullRequest
18 голосов
/ 24 февраля 2011

В чем заключается ошибка, перечисленная ниже?

2011-02-23 21: 24: 12.218 Успех [7238: 207] * Завершение работы приложения из-за необработанного исключения 'NSInternalInconsistencyExceptionПричина: 'Не удалось загрузить NIB в комплекте:' NSBundle(загружен) 'с именем' MainWindow-iPad ''

Ответы [ 11 ]

33 голосов
/ 25 декабря 2012

Один из ваших файлов NIB отсутствует в проекте, добавьте необходимый файл NIB:

В фазе сборки

  1. раскрыть ресурсы пакета копирования
  2. нажмите + внизу
  3. добавить требуемый файл NIB.

Очистите сборку с помощью Shift+Cmd+K, затем запустите.

P.S. Также убедитесь, что использует точное написание файла NIB при вызове initWithNibName:@"ViewNameController"

Возможно , вы назвали свой NIB в вызове строчными буквами или вы также можете включить расширение .xib, которое не требуется .

12 голосов
/ 14 ноября 2011

Возможно, вы назвали свой NIB в вызове строчными буквами.В этом случае симулятор работает нормально, но устройство iPhone вернет ошибку во время выполнения.

Например,

DetailViewController *detailViewController = [[DetailViewController alloc]
            initWithNibName:@"detailViewController" bundle:nil];

не удастся.Вам нужно изменить на:

DetailViewController *detailViewController = [[DetailViewController alloc]
            initWithNibName:@"DetailViewController" bundle:nil];
3 голосов
/ 23 февраля 2012

В настройках сборки добавьте архитектуру = >> armv6 и armv7

Я только что удалил свою ошибку, используя

2 голосов
/ 18 сентября 2012

У меня та же проблема, но это потому, что я написал расширение .xib, и это не обязательно

token_view = [[GetToken alloc] initWithNibName:@"GetToken_iPad.xib" bundle:nil];

вместо

token_view = [[GetToken alloc] initWithNibName:@"GetToken_iPad" bundle:nil];
1 голос
/ 22 марта 2017

У меня такая же проблема, просто следуйте инструкциям.

1. Скопируйте ваш проект в другом месте.

2. Скопируйте файл NIB, в котором происходит сбой приложения.

3.Просто измените имя

Пример.Старый файл Demo.xib, чем копирование и изменение имени DemoNew.xib

Мой код ниже

Старый код

Demo *controller = [[Demo alloc]initWithNibName:@"Demo" bundle:nil];

Я просто изменяю имя

Demo *controller = [[Demo alloc]initWithNibName:@"DemoNew" bundle:nil];

это работает для меня.

1 голос
/ 04 января 2017

Пожалуйста, убедитесь, что ваш nib / xib файл включен в соответствующее целевое членство.

1 голос
/ 13 мая 2011

В моем случае было следующее:

Я загрузил код XIB с именем «?????? Ipad», но имя файла XIB было «?????? IPad»

1 голос
/ 24 февраля 2011

Есть ли какие-либо предупреждения, связанные с NIB? Обычно это происходит из-за ошибки в файле NIB (например, неверный тип NIB).

Щелкните правой кнопкой мыши файл и выберите «Получить информацию», чтобы убедиться, что тип соответствует ожидаемому.

0 голосов
/ 26 февраля 2018

Если вы пытаетесь загрузить ячейку collectionView в представлении коллекции, полученном из пера, вы можете увидеть ошибку «NSInternalInconsistencyException», причина: «Не удалось загрузить NIB в комплекте : "NSBundle" Когда вы загружаете представление коллекции из файла пера, у вас нет возможности объявить ячейку представления коллекции в перо в отличие от раскадровки. Правильный способ - создать новую пользовательскую ячейку с новым пером, а затем загрузить ее в представление коллекции. Примечание : не забудьте зарегистрировать кончик новой ячейки пользовательской коллекции.

0 голосов
/ 12 июля 2013

Другая возможная проблема: вы используете Базовая локализация на iOS 5 (осторожно, она вроде работает на iOS Simulator, но не на устройстве), но поддерживается только начиная с iOS 6.

Для получения дополнительной информации см .: Не удалось загрузить перо в интернационализации базового комплекта

...