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-cod
You don't want .xcconfig
; that stores settings for Xcode. Instead, you want a property list (.plist
) file. To do so, hit command-N
to create a new file, then select iOS > Resources > Property List
. Use the plist editor to add keys, values, and value types. Then load your properties by adding these lines somewhere in your app:
if let filePath = NSBundle.mainBundle().pathForResource("Latin Conjugations", ofType:"plist") {
let plist = NSDictionary(contentsOfFile:filePath)
}
You can then access your properties via the plist dictionary like you would any other dictionary value. Note that it's not a Swift Dictionary
, since that doesn't have a constructor that takes a file path to load.
Updated 10/21/2015: This answer is now Swift 2.0-compliant. pathForResource()
now returns an Optional.
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