Препроцессор Xcode зависит от переменной среды

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

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


person cynistersix    schedule 31.01.2012    source источник


Ответы (1)


В «Настройках сборки» цели вашего проекта вы можете добавить что-то подобное в поле «Макросы препроцессора»:

DEV_USERNAME="${USER}"

Конечно, переменную USER можно заменить любой переменной среды, доступной для системы сборки Xcode. Чтобы получить их список, вы можете добавить сценарий запуска к своей цели и установить флажок «Показывать переменные среды в журнале сборки».

Затем вы можете использовать макрос препроцессора DEV_USERNAME в своем коде. И если вы хотите использовать его как строку, вы можете «привязать» ее:

#define xstr(s) str(s)
#define str(s) #s

xstr(DEV_USERNAME)

Это даст вам имя пользователя, заключенное в двойные кавычки.

person MonsieurDart    schedule 08.08.2012
comment
Я наткнулся на кое-что, что может вас заинтересовать (или нет), возьмите добычу на stackoverflow.com/a/30396593/734860 - person entonio; 22.05.2015
comment
Действительно интересно! Но, может быть, не в этом случае. - person MonsieurDart; 22.05.2015
comment
Да, это более общий вопрос. - person entonio; 24.05.2015