У меня довольно странная проблема, о которой я пока не могу до конца докопаться, и я хочу документировать ее здесь, потому что я нигде не обсуждал эту проблему.
У меня есть приложение для iPhone, которое я разрабатывал под Xcode3. Это работало отлично, и я сделал специальный дистрибутив, который также отлично работал на устройствах.
Затем я обновился до Xcode4, и в следующий раз, когда я сделал специальную рассылку, мое приложение упало при запуске. Само собой разумеется, что он работал в симуляторе и в устройствах, подключенных к моей машине разработки. Журналы сбоев были не слишком полезны, они указывали на сбои в main.m, в стандартном вызове UIApplication. Я, конечно, никогда не менял этот файл. После долгих копаний и осколков я обнаружил проблему.
Xcode подумал, что тип моих * .xib файлов - это text.xml, а не file.xib, и поэтому копировал эти файлы только в комплект приложения, а не компилировал их. Приложение зависало при запуске, так как не могло найти файл MainWindow.nib.
Прослеживая мои проверки subversion, я обнаружил, что типы файлов, записанные в файле project.pbxproj в xcodeproj, изменились при первой регистрации после обновления Xcode4. Я понятия не имею, как и почему это произошло. Также я не могу видеть через интерфейс, как я буду влиять на эту настройку, и я даже не открывал некоторые из изменений, которые изменились. (Чтобы исправить мою проблему, я изменил файл pbxproj в текстовом редакторе).
Итак, кто-нибудь знает, как и почему это могло произойти?