Не удалось загрузить NIB в комплекте: "NSBundle"

Какова ошибка, указанная ниже?

2011-02-23 21: 24: 12.218 Успех [7238: 207] * Завершение приложения из-за неотображенного исключения "NSInternalInconsistencyException", причина: "Не удалось загрузить NIB в пакете:" NSBundle </Users/jimkillen12/Library/Application Support/iPhone Simulator/4.2/Приложения/BAA5E0E7-AF12-4301-A4F8-1B9797C9E82D/Success.app > (загружен) 'с именем "MainWindow-iPad"

Ответы

Ответ 1

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

В фазах сборки

  • expand Копировать ресурсы Bundle
  • нажмите + внизу
  • добавить необходимый файл NIB.

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

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

Ответ 2

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

Например,

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

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

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

Ответ 3

В настройках сборки Add Architecture = → armv6 и armv7

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

Ответ 4

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

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

вместо

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

Ответ 5

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

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

Ответ 6

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

Я загрузил в код XIB имя "???? Ipad" но имя файла XIB было "???? IPad"

Ответ 7

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

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

2.Скопируйте свой файл NIB, в котором работает Crash.

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

Ex. Старый файл Demo.xib Than Скопировать и изменить имя DemoNew.xib

Мой код ниже

Старый код

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

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

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

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

Ответ 8

Просто проверьте, существует ли файл MainWindow.xib в вашем проекте. Если нет, просто добавьте новый файл интерфейса с именем MainWindow.xib.

Ответ 10

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

Ответ 11

Бах - я думаю ~ или - не имеет значения. Как вы создали файл .xib? Убедитесь, что файл находится в вашем проекте. Я заметил, что когда я создал файл .xib, он создал его в папке класса другого проекта.