How can I differentiate between two Xcode targets with Swift? The idea is to make a free and a paid version of an app with the same code base in Xcode.
With objective C I could use preprocessor macros but with Swift those are unavailable.
In Xcode, go into the build configuration for a target. Find the section called Swift Compiler - Custom Flags, which contains a setting called Other Swift Flags.
Add a command-line flag for the compiler to add a flag, pretty much just like you’d do with the C compiler.
Now you’ve got -D Something
being passed to the Swift compiler. In your Swift code, you can now do this:
#if Something let foo = "bar" #endif
It looks a lot like the C preprocessor, but unlike C, all code in all conditional sections has to be syntactically correct or the program won’t compile. So, you can set a flag on each target in the build settings and use them in your code.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With