.xcconfig? How to set environment variables
ios, swift, xcode
Solution
- Setup config hierarchy in case you have pods configs:
OR if you haven't any pods at all, the Configurations hierarchy gonna look like this:
Create all the key-value pairs for each config file (in this case there are 3 config files for dev/adhoc/appstore builds). Each config file has same set of keys:
Add each key to the generator:
Then just use the keys in your code :
PS: the keys generated this way are also recognizable in .swift files (make sure you have a bridging header in your Swift project, even though you don't use obj-c sources and it will be empty).
UPDATE for Swift 2.2: doesn't work anymore Swift 2.2: GCC_PREPROCESSOR_DEFINITIONS constants no longer imported
Problem
I'm new to Xcode. I spent the last two days trying to figure out how to test my app on my iPhone which accesses a web service. On the simulator I can use a hard-coded 'localhost' variable, but I don't want to hardcode all the configuration settings. I'm using Swift + Xcode 6 but I think this is the same process as Xcode 5. I looked through lots of articles and I think I'm supposed to use .xcconfig, but it's very unclear. For example, I created a `Environment.xcconfig` file. I populated it with ``` API_BASE_URL = "http://localhost:4000/api/v1" ``` I then went into Project -> Info and set the Debug configuration file to `Environment`. I then tried to access the variable in code via `${API_BASE_URL}` but I get `Use of unresolved identifier 'API_BASE_URL'`. This is extremely frustrating. Any ideas?