Really, you want Intel
Short version:
Xcode is secretly building my release builds as universal binaries. Editing the pbxproj to remove the reference to i386 fixed things for me.
update:It’s something with my environment causing this.
Longer version:
I recently added Growl support to my app. It was super easy. I snagged the Growl source, built the Growl.framework and followed the online dev docs for cocoa. Fifteen minutes later and I was done (seriously). Little did I know, I was being deceived. This morning I did a release build for the first time and ran into some issues. The first problem was easy, I wasn’t linking with Quicktime.framework. I’m not sure how debug builds got away with this, but oh well. The second issue was slightly more interesting. I got this error message from the linker:
/usr/bin/ld: warning ../build/Deployment/Growl.framework/Growl
cputype (18, architecture ppc) does not match cputype (7)
for specified -arch flag: i386 (file not loaded)
Wah!? I’m pretty sure I hadn’t built Growl or my app as a universal binary, but I double checked. Both project’s architectures were set to $(NATIVE_ARCH). I couldn’t figure it out.
After some grep’ing for i386 in my project directory I found my apps release configuration was being compiled for i386, regardless of the project settings shown in Xcode. I triple checked the xcode project settings for all configurations and even explicitly set ‘ppc’. Regardless of the setting, i386 was always in my .pbxproj file. What’s one to do? I closed my project in Xcode and removed the i386 by hand. Re-open in Xcode and all was well. My app linked as release with Growl just fine.
To confirm what I was seeing I created a new Cocoa application in Xcode. I confirmed the project settings for both release and debug were set to only build for $(NATIVE_ARCH) and did a release build. All went well. Now I checked the .app file in Finder and sure enough, it was built for Intel, PowerPC. Weird. Is this a bug? Is Apple trying to trick us into building new apps as universal binaries? My guess is it’s a bug, and potentially just a bug in my environment. I did a little digging, but couldn’t find anyone else complaining about this. Oh well, at least now I know.
update: Luis de la Rosa of WebnoteHappy fame was kind enough to try to reproduce this for me. His results were better. Although release was building Intel by default, the architecture setting for the project made it clear that that’s what was going on. When he unchecked i386 it stopped compiling for i386 (how nice). So, one has to assume it’s something in my environment somewhere causing this.

June 12th, 2006 at 1:37 pm
I have this problem as well. Did you ever get to the bottom of this ?
June 12th, 2006 at 2:06 pm
I’m not positive, but I think I quit Xcode and removed the ‘i386′ lines by hand with vi. If you’re going to do that, backup.
also, if you haven’t, I’d recommend upgrading to 2.3. It’s likely fixed (I haven’t seen it again since I hit it this one time). Although, I’m building everything Universal so if the problem did exist, I wouldn’t notice (sorry).
Good luck