How to reference a environment variable inside Obj-C code

I define a path variable in Xcode source tree called "MY_SRC_DIR". I would like to get the value of this environment variable and put it in a NSString in the obj-c code. For example,

-(NSString*) getSourceDir


    return @"${MY_SRC_DIR}"; // not the right solution and this is the question




[[NSProcessInfo processInfo] environment] returns an NSDictionary of the current environment.

For example:

[[[NSProcessInfo processInfo] environment] objectForKey:@"MY_SRC_DIR"]

Just expose the desired var into the Environment Variables list of your current Xcode's deployment Scheme and you'll be able to retrieve it at runtime like this:

NSString *buildConfiguration = [[NSProcessInfo processInfo] environment][@"BUILD_CONFIGURATION"];

It also applies to swift based projects.

Hope it helps!! :]

Here is another way to do it:

.xcconfig file:

FIRST_PRESIDENT = '@"Washington, George"'

objective C code:

    NSLog(@"FIRST_PRESIDENT is defined");
    NSLog(@"FIRST_PRESIDENT is NOT defined");
    NSLog(@"MACRO_FIRST_PRESIDENT is undefined, sorry!");

Console output -- I've stripped out the garbage from NSLog:

MACRO_FIRST_PRESIDENT is Washington, George

The only way I've found to get a build time environment variable as a string is to put it in an dictionary element like this:

<key>Product Name</key>

and then retrieve it like this:

NSDictionary* infoDict = [[NSBundle mainBundle] infoDictionary];
NSString* productName = infoDict[@"Product Name"];
NSLog(@"Product Name: %@", productName);

The best answer to this question is the accepted answer on this question.

Constants in Objective-C

You'll get the most mileage, and won't need any special methods to get the value you're searching for as long as you import the file into whatever .h/.m file is going to consume said value.

Need Your Help

Representing graphs (data structure) in Python

python data-structures graph

How can one neatly represent a graph in Python? (Starting from scratch i.e. no libraries!)What data structure (e.g. dicts/tuples/dict(tuples)) will be fast but also memory efficient?One must be abl...

Logo recognition in images

machine-learning computer-vision image-recognition

Does anyone know of recent academic work which has been done on logo recognition in images?