Question to mac developers: Does Apple let you in any way develop/debug/test programs for older operating systems? If I bought a newly-released-today MacBookAir with Lion, but I want to develop software that would still run on 10.6 and 10.5 - what's the official (and unofficial) ways to do that?
Probably worth noting that you can seamlessly boot Mac OS X from external USB storage. Just plug the drive in before booting and hold down the "option" key when you power on.
We keep an older Mac Mini around running 10.4, 10.5 (and soon to include 10.6) for support of these older systems. We've also found that our universal binary has no issues whatsoever running on Lion, which is a relief as we still prefer Xcode 3.
Apple's definition of a "Universal Binary" is an executable the runs on both PPC and x86. However, it is possible to create a fat binary that runs on all three architectures at the same time.
Apple uses the term "universal" in somewhat inconsistent ways. In the Get Info window, it means what you say. But in developer documentation, it tends to mean a fat binary, with PPC/x86 being the most common pair.
It is possible, however, no PPC binary is allowed in the Mac App Store, even if your binaries also include support for other platforms. This could be a problem if you use third-party binary-only libraries as you have to strip the PPC stream manually from them before you can submit your app to the Mac App Store.
Only with Xcode 3. As I mentioned below, Xcode 4 does not include support for PPC. Also, there are really four architectures (i386, x86_64, ppc, ppc64), but Xcode 3.2.6 does not like compiling for ppc64.
10.6 and 10.5 (server version) will happily (well, for testing, at least) run in a Virtualbox VM. The host OS have to be OS X server too but with the 99$/year you got also server license for free. Using server instead of desktop is not a significant difference if you don't start the server daemons... somewhat remembers me of NT workstation and NT server (many years ago). :)
It's quite easy to set it up to boot of an external drive; I've done that and had 10.4/10.5/10.6 all bootable off of one external drive (split into three partitions).
Others have answered most of this question, but I'll add a slight addition to supporting 10.5. Since PPC is an unsupported platform, Xcode 4 does not include support for it. I end up using Xcode 3 just for PPC support for one of my projects.
Pretty sure its not the Official way, but i would just take advantage of the new Virtualization feature, and run VM's of older OS, assuming you know where to get the images in the first place