Как изменить переменные среды параметров сборки Xcode из сценария фазы сборки? - PullRequest
0 голосов
/ 16 января 2019

Возможно ли изменить переменную среды Xcode BuildSettings на этапе сборки в скрипте?

Вся идея заключается в следующем: Я хочу опубликовать проект с открытым исходным кодом с юнит-тестами. Мои тесты требуют конфиденциальных данных, таких как «логин» и «пароль», поэтому я не могу жестко их кодировать. Я хочу пройти через среду процесса, чтобы иметь возможность сделать что-то вроде этого:

let login = ProcessInfo().environment["login"]!

Я нашел способ передачи переменной из среды параметров сборки в процесс тестирования: выберите схему «Тесты», перейдите к переменным среды и добавьте новое значение с именем «login» и значением «$ (login) )». Если я установлю значение «login» прямо на вкладке настроек сборки - оно будет доступно из ProcessInfo, как я и ожидал.

Но я хочу установить «login» из файла сценария корневой папки проекта «SetupCreds.sh», который находится в .gitignore, поэтому в нем безопасно хранить логин и пароль. Итак, идея такова:

  1. Добавить сценарий фазы сборки
  2. Этот скрипт запускает "SetupCreds.sh"
  3. «SetupCreds.sh» состоит из строк экспорта, таких как export login="MyLogin

Если я добавлю echo ${login} в сценарий фазы сборки, он скажет мне, что «login» действительно имеет значение «MyLogin». Но этот экспорт не влияет на среду Build Settings, только на среду сценария Build Phase.

Как сделать экспорт, который переопределяет переменные среды Build Settings? А может, есть другой способ сделать то, что я хочу?

...