I've heard rumors that it is possible to build different variations of an app without duplicating Xcode projects, by using targets and conditional compilation instructions like
IF !FREE_VERSION
[self loadGreatFeature];
ELSE
[self loadBoringFeature];
So:
How to set Xcode 4 up to be able to distinguish between building / archiving a free or paid version of the project?
How to tell Xcode 4 to include a certain set of images and other resources in the paid version, but not in the free version (and vice versa)?
How to tell Xcode 4 to build the free OR paid version? (don't want to build both of them all the time as this would slow development down)
What are the caveats of this approach?
I do know what's the caveat of duplicating the Xcode project: Once I fix a bug in either version, I must do the same thing in the other. Same goes for making improvements and modifications.