Generally my configuration plan looks something like this:
- A root .xcconfig file called Common.xcconfig. This includes nearly all of buid settings, app configuration, etc
- A Development.xcconfig file that overrides a few things like ONLY_ACTIVE_ARCH (inherts from Common)
- Debug.xcconfig (inherits from Development)
- Beta.xcconfig (inherits from Development)
- Release.xcconfig (inherits from Common)
I make sure to have an xcconfig for each Build Configuration I have set up for the project. That makes it really easy to do things like define specific icons for different build types, and obviously all the other normal build flags you would need.