Запуск сценария оболочки без переменных среды в XCode? - PullRequest
4 голосов
/ 01 сентября 2010

Xcode устанавливает различные переменные окружения, связанные со сборкой, при запуске сценария оболочки.Есть ли способ запустить сценарий оболочки без установки этих переменных?

1 Ответ

3 голосов
/ 01 сентября 2010

У меня есть решение. Используйте этот метод в Run Script Phase целевой фазе: https://serverfault.com/questions/176966/how-to-continue-execution-of-shell-script-after-calling-other-shell-script-with/176976#176976

Эти команды оболочки запускают следующую команду, игнорируя переменные в текущей среде.

env -i <command>
exec -c <command>

В качестве примера я использовал этот скрипт:

env -i ./makeall.sh

Это отключает все предопределенные переменные XCode, поэтому сценарий не зависит от конфигурации XCode, но он также менее полезен, поскольку мы не можем использовать сборку, связанную с путями XCode.

Таким образом, однако, вы можете передать определенную переменную XCode, как этот скрипт.

build()
{
    # Don't know why, however, the environment variable passed to external script even with "env -i".
    env -i ./makeall.sh "${SYMROOT}"
}

build
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...