У меня есть сценарий оболочки, который я хотел бы запустить в конце фазы сборки моей цели. Однако я бы хотел, чтобы этот сценарий запускался только при сборке с конфигурацией выпуска. Как это может быть сделано? Спасибо!
Как я могу ограничить этап сборки Run Script конфигурацией моего выпуска?
Ответы (2)
if [ "${CONFIGURATION}" = "Release" ]; then
echo Do something really release-like
fi
Сценарий будет запускаться в конце каждой конфигурации, но в этом случае он ничего не сделает, если только конфигурация не является Release (при условии, что все, что он делает, содержится в блоке тестирования).
person
Jason Coco
schedule
31.08.2010
Я только что обнаружил, что он не работает с многословными именами конфигурации. Он работает с выпуском, но не с внутренней бета-версией.
- person Hedin; 03.03.2011
@Hedin - это просто баш; если у вас есть переменная, состоящая из нескольких слов, вам нужно заключить переменную в кавычки. Таким образом, $ {КОНФИГУРАЦИЯ} становится $ {КОНФИГУРАЦИЯ}. Я обновлю ответ, включив это.
- person Jason Coco; 03.03.2011
Итак, я попробовал это со сценарием, который загружает в критицизм файл dysm. Что-то не работает, и xcode застревает на фазе, когда я добавляю оболочку if. Любые идеи? если [$ {КОНФИГУРАЦИЯ} = Хоккейное распределение]; затем APP_ID = xxxxxxxx API_KEY = xxxxxxxxx источник $ {SRCROOT} /GlideiPhone/Vendor/CrittercismSDK/dsym_upload.sh fi
- person SAR622; 18.12.2013
У меня есть конфигурации Debug, Release (для инструментов), Ad Hoc и App Store (с другой подписью кода), поэтому я изменил их на
if [ "${CONFIGURATION}" != "Debug" ]; then...
.
- person Nicolas Miari; 14.03.2014
Для условия if я хочу использовать значение #define TRUE / FALSE, хранящееся в файле .pch .. как я могу ссылаться на него в коде сценария?
- person newton_guima; 07.04.2015
@ skyline75489: Bash взаимозаменяемо использует
=
и ==
.
- person Sandy Chapman; 15.09.2016
Можно ли сделать то же самое с флагами препроцессора?
- person Justin Vallely; 20.09.2016
Этот фрагмент не работал. Мне нужно было изменить == if [$ {CONFIGURATION} == Release]
- person drasick; 15.03.2019
Самый простой способ сделать это - установить флажок «Запускать скрипт только при установке».
person
Menno
schedule
16.03.2018
+1 stackoverflow.com/questions/5913199/
- person darkheartfelt; 15.02.2019
Установка отладки на реальном устройстве (сборка и запуск из Xcode) не считается установкой. Сценарий запуска запускается только при архивировании (проверено с Xcode 9). stackoverflow.com/questions/5913199/
- person darkheartfelt; 15.02.2019
Это не сработает, если вы захотите создать приложение в
Release
конфигурации без его архивирования. Вопрос был явно о конфигурации Release
.
- person Legonaftik; 30.05.2019