Xcode4 повреждение файлов nib - PullRequest
       12

Xcode4 повреждение файлов nib

4 голосов
/ 04 апреля 2011

У меня довольно странная проблема, о которой я пока не могу до конца докопаться, и я хочу документировать ее здесь, потому что я нигде не обсуждал эту проблему.

У меня есть приложение для iPhone, которое я разрабатывал под Xcode3. Это работало отлично, и я сделал специальный дистрибутив, который также отлично работал на устройствах.

Затем я обновился до Xcode4, и в следующий раз, когда я сделал специальную рассылку, мое приложение упало при запуске. Само собой разумеется, что он работал в симуляторе и в устройствах, подключенных к моей машине разработки. Журналы сбоев были не слишком полезны, они указывали на сбои в main.m, в стандартном вызове UIApplication. Я, конечно, никогда не менял этот файл. После долгих копаний и осколков я обнаружил проблему.

Xcode подумал, что тип моих * .xib файлов - это text.xml, а не file.xib, и поэтому копировал эти файлы только в комплект приложения, а не компилировал их. Приложение зависало при запуске, так как не могло найти файл MainWindow.nib.

Прослеживая мои проверки subversion, я обнаружил, что типы файлов, записанные в файле project.pbxproj в xcodeproj, изменились при первой регистрации после обновления Xcode4. Я понятия не имею, как и почему это произошло. Также я не могу видеть через интерфейс, как я буду влиять на эту настройку, и я даже не открывал некоторые из изменений, которые изменились. (Чтобы исправить мою проблему, я изменил файл pbxproj в текстовом редакторе).

Итак, кто-нибудь знает, как и почему это могло произойти?

Ответы [ 2 ]

2 голосов
/ 07 мая 2011

У меня такая же проблема с моими существующими проектами xcode3, которые я перенес на xcode4.

Я пробовал решение @ jaylinn, но я также обнаружил, что файл уже имел lastKnownReference.

Я смог решить эту проблему, удалив файлы .xib из проекта (Удалить только ссылку), а затем повторно добавив их в проект.Это немного больно, но это работает.

Надеюсь, это поможет.-Mike

0 голосов
/ 05 апреля 2011

Вот что исправило это для нас.XIB был идентифицирован как «explictFileType», который, по-видимому, не распознается в Xcode 4.

Найдите такую ​​строку в файле вашего проекта (откройте в текстовом редакторе) ...

C9B10BEA11D9084800F10866 / * Record.xib * / = {isa = PBXFileReference;licitFileType = file.xib;путь = запись.xib;sourceTree = "";};

И измените его на это ...

C9B10BEA11D9084800F10866 / * Record.xib * / = {isa = PBXFileReference; lastKnownFileType = file.xib;путь = запись.xib;sourceTree = "";};

...