Не удалось загрузить 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
.
Ответ 9
Другая возможная проблема: вы используете Локализацию базы данных на iOS 5 (осторожно, это работает на iOS Simulator, но не на устройстве), но поддерживается только с iOS 6.
Для получения дополнительной информации см. Не удалось загрузить nib в интернационализации базы пакетов
Ответ 10
Пожалуйста, убедитесь, что ваш файл nib/xib включен в соответствующее целевое членство.
Ответ 11
Бах - я думаю ~ или - не имеет значения. Как вы создали файл .xib? Убедитесь, что файл находится в вашем проекте. Я заметил, что когда я создал файл .xib, он создал его в папке класса другого проекта.