Xcode Secrets Uncovered?

One of the most confusing things I’ve experienced in my short time developing software for the Mac is managing projects and their build and compile settings in Apple’s free development IDE, Xcode.

Xcode is built on top of the cross-platform, open- source compiler gcc. Since gcc is a command-line tool, Xcode needs to handle all the available command-line switches and options in a flexible manner.

Whether or not Xcode delivers in this respect, I have not decided. But I am certain they didn’t make it easy to understand and use.

I’m currently working on the follow-up to Bullfrog and the initial version of LicenseKeeper and one of the things I’ve been exploring is supporting the upcoming Intel cpu switch. In order to do this I need to figure out how to change the compiler settings to produce “universal binaries” that support both ppc and x86 architectures.

This search recently revealed two nice documents on Apple’s Developer Connection that finally explain some of the great mysteries of Xcode in a clear fashion:

As much as I’ve enjoyed developing in Cocoa and Objective-C so far, I’m still a bit baffled by Xcode. I don’t understand how the same company that creates easy to use tools such as iPhoto and iTunes relies on the crufty and adhoc-styled UI of Xcode for their sole and flagship development product. At least the documentation for Xcode is slowly beginning to improve with time.