Xcode - автоматически добавлять все файлы в папку к целевой
В Xcode существует ли способ указать, что все файлы в папке скомпилированы целевым объектом. Например. цель "Тест" автоматически компилирует все файлы в папке "Тесты", в то время как целевое приложение "Приложение" собирает все в папке "Источники".
Сегодня, как я это делаю, нужно добавлять файл в цель каждый раз, когда я его создаю. Это кажется немного ошибочным и избыточным, поскольку файлы уже организованы в правильных папках.
Спасибо.
Ответы
Ответ 1
Когда вы добавляете файлы в проект Xcode, у вас будет два варианта выбора в диалоговом окне выбора файлов:
- Создание групп для любых добавленных папок.
- Создание ссылок на папки для любых добавленных папок.
Вам нужно выбрать второй вариант. В этом случае Xcode всегда будет отображать изменения в файлах и подпапках выбранной папки.
Кажется, вопрос был задан давно, но он все еще находится на первом месте в поиске Google, поэтому, надеюсь, это будет полезно для кого-то.
Ответ 2
Это полностью нарушено в Xcode. Добавление папок по ссылке на папку (ответ @Pavel) должно быть правильным - но это просто не работает. См. Также fooobar.com/questions/168899/.... Я использую Xcode 8.3, но он был поврежден и для многих поколений ранее.
Существует не идеальное решение, но это то, что я делаю:
- Перетащите каталог в проект
- При запросе задайте следующие параметры:
- Выберите Создать группы для любой добавленной папки (т.е. противоположно тому, что вы считаете правильным)
- Снимите выделение Скопируйте файлы при необходимости (потому что вам нужна ссылка, а не копия).
Теперь любые изменения в файлах в общей папке будут отражены в Xcode, что хорошо.
Но нет возможности обновить группу. (Кто-то, пожалуйста, скажите мне, если я упустил что-то очевидное здесь.) Итак, если вы добавили новые файлы в каталог, вам нужно удалить группу в Xcode и повторно добавить ее до появления этих файлов. Это явно неудобно, но, по крайней мере, он не слишком подвержен ошибкам пользователя - и лучше, чем добавлять файлы вручную один за другим.
Должен сказать, что мне кажется невероятным, что такая простая и необходимая особенность среды разработки здесь настолько нарушена.
Ответ 3
С этим можно добавить несколько файлов в целевые объекты. Но для этого требуется некоторая работа по фильтрации файлов, которые вы хотите.
Project > Target > Compile Sources > cmd + A, чтобы выбрать все файлы > фильтр для файлов .m > нажмите "Добавить"
Как и другие ресурсы,
Project > Target > Copy Bundle Resources > фильтр для .png.wav.strings.xib.storyboard и т.д. > нажмите "Добавить"
Ответ 4
Вот еще несколько вопросов о том, как stackoverflow пытается решить эту проблему:
Добавить файлы в проект Xcode из script?
Автоматическое добавление сгенерированных исходных файлов в проект xcode
Ответ 5
Да - просто выберите все файлы в папке и используйте окно инспектора (вкладка целей).
Ответ 6
Один из подходов, который вы можете предпринять, - использовать CMake для создания цели Xcode для вас.
Подробнее: CMake - автоматически добавлять все файлы в папку к цели?
Другой потенциальной возможностью было бы настроить фазу пользовательской сборки.
Ответ 7
Xcode расширяем, используя сценарии оболочки. Вы можете установить оболочку script для запуска во время сборки, чтобы вы могли в основном сделать xcode делать что угодно. Вы ограничены только вашими способностями сценариев оболочки, и я уверен, что вы тоже можете найти помощь.