Результат сценария оболочки в качестве настройки сборки

Можно ли запустить скрипт оболочки и использовать его результат в качестве пользовательского макроса в XCode?

По сути, я просто хочу, чтобы результат сценария оболочки был помещен в переменную, чтобы он был установлен в Info.plist (так же, как ${EXECUTABLE_NAME} так далее.)

Например: если я добавлю $(/usr/bin/whoami) в качестве условия настройки сборки (в нижней части настроек конфигурации сборки) он просто устанавливает пустую строку.

2 ответа

Решение

Посмотрите этот вопрос для нескольких разных подходов. Все они требуют добавить фазу сборки "Run Script".

Предполагая оболочку, похожую на bash, и учитывая почти полное отсутствие контекста для вашей проблемы, попробуйте

EXECUTABLE_NAME=$( scriptToGetEXEC_NAME )
PRODUCT_NAME=$( scriptToGetPROD_NAME)

$( ... cmd ... ) Конструкция называется подстановка команд. Это означает, что процессор оболочки сканирует каждую строку кода, если сначала проверяет, есть ли $(...) встроенный (и другие вещи). Если это так, он порождает новую оболочку, выполняет код внутри, и, если какой-либо текст возвращается, он внедряется в командную строку, а затем оболочка сканирует строку снова и в конечном итоге выполняет все слева направо, предполагая, что Первое слово превратится во встроенную команду или команду в PATH.

Надеюсь, это поможет.

PS, поскольку вы, кажется, являетесь новым пользователем, если вы получаете ответ, который помогает вам, не забудьте пометить его как принятый и / или дать ему + (или -) в качестве полезного ответа.

Другие вопросы по тегам