Подтвердить что ты не робот

Как сохранить исходные файлы проекта Xcode в синхронизации с файлами файловой системы?

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

С XCode кажется, что мне нужно как создать файл, так и отдельно добавить его в проект (или заставить манипулировать файловой системой через пользовательский интерфейс). Но это означает, что совместное использование .xcodeproj через контроль источника чревато проблемами - часто мы получаем конфликты слияния в файле xcodeproj - и когда мы этого не делаем, мы часто получаем ошибки компоновщика, потому что во время слияния некоторых файлов которые были перечислены в проекте, вырезаются. Поэтому мне нужно пойти и снова добавить их в файл проекта, пока я не смогу его компилировать, а затем повторно проверить файл проекта.

Я уверен, что я должен что-то упустить. Я пытался использовать "справочные папки", но код в них, похоже, не компилируется. Кажется безумным создать среду IDE, которая заставляет всех изменять один общий файл при добавлении или удалении файлов в проект.

4b9b3361

Ответ 1

Несмотря на другие ответы, это абсолютно отход от других IDE и большая неприятность. Там нет хорошего решения, о котором я знаю.

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

  • выберите каталог в дереве проекта,
  • нажмите клавишу удаления,
  • выберите "Удалить только ссылки", затем
  • перетащите каталог в проект, чтобы его снова добавить.

Это сглаживает любое ручное переупорядочение файлов, но, по крайней мере, делает синхронизацию операции O (1), а не O (n) в количестве измененных файлов.

Ответ 2

Я заинтриговал, какие IDE файлы вы используете, которые автоматически компилируют все в директории, поскольку никакая IDE, которую я когда-либо использовал, делает это (по крайней мере, для С++). Я думаю, что довольно стандартно иметь файл проекта, содержащий список всех файлов. Часто вы можете включать только определенные файлы для разных целей, иметь параметры компилятора для каждого файла и т.д.

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

К счастью, поскольку формат файла Xcode является текстом, обычно довольно легко разрешать конфликты, когда они происходят, в отличие от Bad Old Days of Codewarrior с его двоичным форматом.