Могут ли отдельные файлы .pbxuser и .mode1v3 привести к потере ресурсов xCode? - PullRequest
0 голосов
/ 19 февраля 2011

Мы работаем над iOS-проектом для двух человек, используя svn для синхронизации нашего кода. Недавно мы обнаружили проблему при компиляции на одной машине, но не на другой. Несоответствие возникало даже при проверке последней ревизии в свежем каталоге; на моей коллеге машина работала бы нормально, а на моей она не работала.

Мы используем xCode версии 3.2.5 на одинаковых компьютерах. Единственное различие, о котором я могу думать, это то, что у нас есть .pbxuser и .mode1v3 с каждым из наших имен пользователей, и оба набора были в репозитории svn.

Мы наконец отследили проблему до этой строки кода,

return [[NSBundle mainBundle] pathForResource:[NSString stringWithFormat: @"animation-human-%d", aniType] ofType:@"dimp"];

, который не работал и возвращал ноль на моей машине. Однако этот мошеннический файл присутствовал в svn, в средстве просмотра групп и файлов xCode, и после удаления его из xCode по ссылке и последующего добавления его обратно в качестве существующего файла проблема была решена.

Очень неприятно решать эту проблему, не понимая, что ее вызвало. Насколько я понимаю, копаясь в том, что файлы .pbxuser и .mode1v3 являются настройками для каждого пользователя. Может быть, проблема в этом файле приводила к тому, что xCode терял мой файл анимации? Должны ли мы извлечь эти файлы из SVN или использовать один файл, который переименован и разделен между пользователями?

Любое объяснение будет с благодарностью. Заранее спасибо.

1 Ответ

1 голос
/ 19 февраля 2011

Не думаю, что это как-то связано с этими файлами.

Мое лучшее предположение состоит в том, что в какой-то момент один из вас случайно удалил файл из цели, то есть он не был бы установлен при запуске вашего приложения. Во время разработки файлы в вашем пакете остаются, поэтому это не вызвало бы немедленных проблем.

Затем вы удалили приложение со своего устройства / симулятора. При новой установке файл не установился бы, следовательно, произошел сбой, даже если файл находится в вашем проекте и хотя он работает для вашего коллеги.

Удаление файла из вашего проекта, а затем его повторное добавление приведет к повторному добавлению файла к вашей цели, что решит проблему. Вы можете проверить, так ли это, проверив более старую версию непосредственно перед тем, как вы что-то исправили, щелкнув правой кнопкой мыши по файлу, выбрав Get Info и увидев, отмечена ли цель.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...