Не удается создать новые файлы xib в проектах Xcode

Этот дурацкий ...

Мой приятель только что загрузил iPhone SDK на свой MacBook Pro Snow Leopard. Независимо от того, какой проект он создает (на основе окон, на основе представления и т. Д.), Он не может создавать или использовать свои собственные файлы xib. Проект будет компилироваться и работать нормально, пока он не добавит новый файл xib.

Вот некоторые симптомы:

  • Когда он выбирает предварительно сгенерированный xib в Xcode (например, MainWindow.xib), предварительный просмотр справа не отображается. Двойной щелчок по этому файлу откроет его в построителе интерфейса (это правильное поведение).
  • Когда он выбирает свой собственный пользовательский xib, на панели предварительного просмотра отображается XML-содержимое xib. Двойной щелчок по его настраиваемому xib открывает XML-файл в Xcode - как если бы это был стандартный файл кода (это увеличено).
  • Открытие его пользовательского xib из средства поиска открывает его в Интерфейсном Разработчике.
  • При сборке приложения предупреждение сборки говорит что-то вроде «Предупреждение: нет правила для обработки файла / пути / к / CustomXib типа sourcecode.xib для архитектуры i386»
  • Во время выполнения он получает ошибку:

    Завершение работы приложения из-за неперехваченного исключения «NSInvalidArgumentException», причина: «- [UIViewController _loadViewFromNibNamed: bundle:] не удалось загрузить перо с именем« MyCustomXib »»

Мы удалили Xcode из командной строки и переустановили. Я убедился, что это подходящая версия для его машины. Я в тупике!


person Reed Olsen    schedule 09.02.2010    source источник


Ответы (5)


Да, у меня тоже была эта проблема, и я также обновил Directoy с Tiger до Snow Leopard. Для меня исправление заключалось в изменении типа файла пера с sourcecode.xib на file.xib (щелкните файл пера, выберите «Получить информацию» и измените «Тип файла» в раскрывающемся списке.

person Mark    schedule 25.07.2010

Ошибка...

Предупреждение: нет правила для обработки файла / путь / к / CustomXib типа sourcecode.xib для архитектуры i386 "

... предполагаю, что перо по какой-то причине находится на этапе сборки "Исходные коды компиляции". Откройте цель, а затем откройте источники компиляции и посмотрите, есть ли там перо. Если это так, переместите его в «Копировать ресурсы пакета» и попробуйте скомпилировать снова.

person TechZen    schedule 09.02.2010
comment
xibs должны быть скомпилированы. Они компилируются в файлы пера. - person Peter Hosey; 10.02.2010
comment
Тем не менее, файл .xib никогда не должен отображаться на этапе компиляции исходных файлов целевого объекта. Если бы кто-то там появился, было бы разумно попытаться переместить его в нужное место, чтобы решить эту проблему. - person TechZen; 10.02.2010
comment
Если вы будете ругать людей за то, что они высунули шею, внушая им странные проблемы, люди перестанут высовывать шею. В этом случае будет достаточно простого комментария, который, по вашему мнению, не является источником ошибки. Это не та проблема, в которой любой ответ окончательно неверен. В подобных случаях неправильные ответы могут, тем не менее, привести к правильному решению, вызвав осознание или раскрытие информации при проверке неправильного ответа. - person TechZen; 10.02.2010
comment
Ха ... Ты прав. Я думал, что видел свои файлы xib в источниках компиляции, но они находятся в ресурсах пакета копирования, хотя Xcode их компилирует. Прости. - person Peter Hosey; 10.02.2010

Попробуйте изменить тип файла xib с «sourcecode.xib» на «file.xib». "sourcecode.xib" кажется, что он пытается рассматривать файл как исходный файл, а не как (по умолчанию) файл xib.

person Dave DeLong    schedule 09.02.2010

Это полная отговорка, но после того, как мы поигрались с Xcode, OS X, терминалом и не увидели прогресса, мы решили стереть машину и начать все заново. Ошибка может быть следствием обновления непосредственно с Tiger до Snow Leopard и наличия некоторых странных оставшихся настроек.

person Reed Olsen    schedule 11.02.2010

Кажется, мой xib-файл был сохранен с неправильной информацией о файле при создании с помощью File-> New_file-> Create a UIViewController subclass в XCode.

Когда я изменил информацию о файле на ту же, что и для MainWindow.xib, а также переместил его из папки компиляции Target, все заработало; он скомпилирован и запущен в построителе интерфейсов.

PS: Я тоже обновился напрямую с Tiger до Snow Leopard, так что это может быть кандидатом для смешивания настроек Xcode?

person Geir Haagensen    schedule 23.05.2010