Xcode - автоматически добавлять все файлы в папке к цели - PullRequest
28 голосов
/ 20 мая 2010

В Xcode есть способ указать, что все файлы в папке компилируются целью. Например. цель «Test» автоматически компилирует все файлы в папке «Tests», тогда как цель «App» компилирует все в папке «Sources».

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

Спасибо.

Ответы [ 7 ]

8 голосов
/ 15 января 2014

Когда вы добавляете файлы в проект XCode, у вас будет два варианта выбора в диалоге выбора файлов:

  1. Создание групп для любых добавленных папок.
  2. Создание ссылок на папки для любых добавленных папок.

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

Кажется, вопрос задавался давным-давно, но он все еще на первом месте в поиске в Google, так что, надеюсь, он кому-нибудь пригодится.

6 голосов
/ 06 апреля 2017

Это полностью сломано в Xcode. Добавление папок по ссылке (@ Pavel's answer) должно быть правильным - но это просто не работает. См. Также https://stackoverflow.com/a/42600782/2518722. Я использую Xcode 8.3 ( update : все еще не работает в Xcode 10), но он также был сломан в течение многих поколений до этого.

Не существует идеального обходного пути, но вот что я делаю:

  1. Перетащите каталог в проект
  2. При появлении запроса установите следующие параметры:
    • Выбрать Создать группы для любой добавленной папки (т. Е. Противоположное тому, что вы считаете правильным)
    • Отмените выбор Копируйте файлы, если необходимо (потому что вам нужна ссылка, а не копия).

Теперь любые изменения в файлах в общем каталоге будут отражены в Xcode, и это хорошо.

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

Должен сказать, я нахожу довольно невероятным, что такая простая и необходимая особенность среды разработки настолько нарушена.

4 голосов
/ 16 июля 2013

Вы можете добавить несколько файлов к цели с этим. Но это требует некоторой работы по фильтрации файлов, которые вы хотите.

Project> Target> Compile Sources> cmd + A для выбора всех файлов> фильтр для файлов .m> нажмите «Добавить»

Аналогично другим ресурсам,

Project> Target> Copy Bundle Resources> фильтр для .png .wav .strings .xib .storyboard и т. Д.> Нажмите «Добавить»

2 голосов
/ 05 октября 2011

Вот еще несколько вопросов о стековом потоке, пытающихся решить эту проблему:

Добавить файлы в проект Xcode из скрипта?

Автоматическое добавление сгенерированных исходных файлов в проект xcode

0 голосов
/ 16 июля 2013

Один из подходов, который вы можете использовать, - это использование CMake для генерации цели XCode для вас.

Подробно: CMake - Автоматически добавлять все файлы в папке к цели?

Еще один потенциальный путь - настроить пользовательский этап сборки.

0 голосов
/ 20 мая 2010

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

0 голосов
/ 20 мая 2010

Да - просто выберите все файлы в папке и используйте окно инспектора (вкладка целей).

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