Monday, May 03, 2010

Tip: iPhone only apps can NOT include iPad size icons

Update 2
Here is the exact error message iTunes Connect shows:

The binary you uploaded was invalid. The Info.plist contains the key CFBundleIconFiles, which may not be used in applications that do not target the iPad device family. Use CFBundleIconFile instead.

After thinking about this some more, still might be possible with a truly "iPhone-only" app to get better icons on iPad by building against iPhone OS 3.2, keeping deployment target as 3.1.3. Have to try that tomorrow...

Even though including iPad size icons and CFBundleIconFiles in Info.plist worked fine across the non-iPad devices I have running 3.1.3, iTunes Connect auto-rejects an app if it includes CFBundleIconFiles. Also note that the Valid Build Product step that Jeff LaMarche blogged about does not catch this!

Original Post
The iPad has landed! Like somewhere over 1 million people, I got my iPad 3G last Friday. First thing I did was load up all the apps I own, including mine, iTimeZone.

Immediately noticed that the icon looked like shit. Upscaling from 57px to 72px was not kind to iTimeZone. I was a few hours from shipping iTimeZone 1.3.5, a bugfix release, but I couldn't leave the icon in that state, what a bad first impression. Sure the app is being run either letter & pillar boxed, or pixel doubled, but I couldn't quickly whip up iTimeZone for iPad. Maybe though I could universalize iTimeZone for iPhone's icons so they at least look good on iPad for users that don't eventually buy iTimeZone for iPad.

After looking at a bunch of resources, this Apple article App Icons on iPad and iPhone spells out exactly what you have to do in iPhone-only, iPad-only, or Universal Apps for icon settings. It doesn't make it clear if you can follow the Universal directions for an iPhone-only app. Turns out you can.

I've testing the directions on an iPhone 3G, iPad 3G, and original iPod touch, works perfectly. Even better, I re-resized the iPhone icon from the original 512x512 source icon, and the latest version of Flying Meat's Acorn makes even the small sizes much crisper than before, score!