If you just want to switch between build configurations, a `#if DEBUG` compiler directive is going to be easier and more efficient.<p>See "Build configuration statement" on this page:<p><a href="https://developer.apple.com/library/prerelease/mac/documentation/Swift/Conceptual/Swift_Programming_Language/Statements.html" rel="nofollow">https://developer.apple.com/library/prerelease/mac/documenta...</a><p>If you want runtime configuration (change the URLs after building), it's usually a better idea to use a separate .plist file instead of the Info.plist (since Info.plist is usually reserved for data you need to communicate to the operating system). If you need compile-time generation, you can set that up as a "Build phase" in Xcode (any Build Phase script will have access to the same macros you're injecting into your .plist).