I have a project configured (I think) to produce Universal binaries. The base SDK is set to 3.2 and the Deployment Target is set to 3.1. Target Device Family is iPhone/iPad and
Our first Universal App just got approved and released in the App Store today, so here are the settings we successfully used:
Architectures
Architectures: Optimized (armv6 armv7)
Base SDK: iPhone Device 3.2
Build Active Architecture Only: unchecked
Valid Architectures: (empty)
Deployment
Targeted Device Family: iPhone/iPad
iPhone OS Deployment Target: iPhone OS 3.0
(you can set this to any iPhone 3.x OS but we wanted to target the oldest devices possible. This must be 3.0 or above, 2.x is not valid for a Universal App.)
Make sure that you'd also checked these settings for the Target itself (Project->Edit Active Target "AppName"); my initial problems when uploading to iTunes Connect were because the iPhone OS Deployment Target for the Target itself was still set to 2.2.1.
So, the key seems to be that the "Architectures" setting be set to "Optimized (arm6 arm7)" in addition to the "Valid Architectures" setting being set to "armv6 armv7".
This allows it to compile with the 3.2 SDK and run on an iPhone running 3.1
The settings I have in my question, in addition to this above change, seems to be what's needed to configure the app for submission as a universal binary. I haven't done it yet, but I'm fairly confident.
Please correct me if I'm wrong.