У меня есть проект Xcode с большим количеством целей, где я хотел бы включить набор настроек для приложений, созданных в конфигурациях Ad-hoc и Debug, но не в конфигурации Release.
Фазы сборки, похоже, не позволяют сделать себя условными для конфигурации (они, очевидно, могут быть условными для цели, но удвоение количества целей в проекте сделает его полностью непригодным).
Это оставляет письменное правило сборки. Мой план состоит в том, чтобы исключить параметр Settings.bundle из всех целей и создать правило сборки, которое условно копирует его в пакет продукта, но подходящие примеры действительно трудно найти.
Правило сборки, которое я запустил, имеет параметр Process, установленный в "Исходные файлы с именами, соответствующими:" и Settings.bundle в качестве имени. Параметр "Использовать" - "Пользовательский script:".
Мой пользовательский script выглядит следующим образом (с оговоркой, что мой скрипт bash находится на уровне культа груза):
if [${CONFIGURATION} = 'Debug'] then
cp -r ${INPUT_FILE_PATH} ${DERIVED_FILES_DIR}/.
fi
Наконец, у меня есть ${DERIVED_FILES_DIR}/Settings.bundle
, указанный в качестве выходного файла.
Поскольку я здесь, должно быть очевидно, что он не работает. Мой первый вопрос заключается в том, есть ли где-то я могу просмотреть вывод правил сборки в качестве выполнения, чтобы убедиться, что 1) он фактически выполняется, и что 2) у меня нет глупой синтаксической ошибки где-то.
Кроме того, какое правильное местоположение (в виде переменной окружения) для копирования вывода на?