Получить текущее имя схемы из Run Script Phase

Есть ли способ захватить текущую схему из этапа script?

Я пробовал $(SCHEME_NAME), но его не существует.

Ответы

Ответ 1

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

Для каждой схемы вам интересно перейти в "Редактировать схему" и добавить Script со следующим кодом:

rm -rf ${INTERMEDIATES_OUTPUT_DIR}
mkdir -p ${INTERMEDIATES_OUTPUT_DIR}
echo MY_SCHEME_NAME > ${SCHEME_FILE}

Build Pre-action

Затем перейдите в свою цель сборки "Параметры сборки" и добавьте два "Пользовательских настроек":

INTERMEDIATES_OUTPUT_DIR=${PROJECT_DIR}/build/intermediates/${CONFIGURATION}/
SCHEME_FILE=${INTERMEDIATES_OUTPUT_DIR}current_scheme.txt

Откройте "Run script" и добавьте следующее:

SCHEME_NAME=`cat ${SCHEME_FILE}`

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

Очевидно, вы можете немного упростить это путем жесткого кодирования имени файла, но это немного более надежное (и у нас есть другие материалы, которые также попадают в каталог промежуточных продуктов).