10

I have a configuration that I'd like to dynamically control a preprocessor defined value through an environment variable.

Is this possible? if it is how do I set in the preprocessor define table that I want to set the value based on the environment variable?

cynistersix
  • 1,215
  • 1
  • 16
  • 30

1 Answers1

3

In the "Build Settings" of a target of your project, you can add something like that to the "Preprocessor Macros" field:

DEV_USERNAME="${USER}"

Of course, the USER variable can be replaced by any environment variable available to Xcode build system. To get a list of those, you can add a run script to your target and enable the checkmark "Show environment variables in build log."

You can then use the DEV_USERNAME preprocessor macro in your code. And if you want to use it as a string, you can "stringify" it:

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

xstr(DEV_USERNAME)

This will give you the username surrounded by double quotes.

MonsieurDart
  • 6,005
  • 2
  • 43
  • 45