I’m developing a Lite version of an existing iPhone app and I’m trying to figure out the best way to conditionally compile the full and lite versions. Ideally I’d like to use a LITE preprocessor define but is there a good way to set this so I can choose a different item from the scheme menu and just compile whichever version I want?
I don’t want to duplicate my “full” target because I’m concerned I’ll change a setting in one version and not copy it to the other one. I looked at using an aggregate target but it doesn’t run when I press Command-R.
What’s the best way to achieve this without duplication?
In the end I decided it was best to resolve this without using build configurations. My app uses in-app-purchase to support upgrading to the full, non-lite, version. As such, I want to have every feature compiled and ready to go.
I now manually update the bundle identifier if I want to switch between full and lite versions, and check this when the app runs. I have to change the bundle identifier anyway when I submit either version, so this way I change one file and there’s no duplication. Within the app I call the method below to enable/disable lite features.