I hope to create a single app that supports both the iPhone and the iPad. The app works in the simulator for both devices as desired. Now I'm trying to build and deploy it. I set the "Icon File" in the plist to the 57x57 .png image and when I build and try to submit the app ItunesConnect complains about needing a 72x72 .png image for the iPad. If I specify the "Icon File" to the 72x72 .png ItunesConnect complains about needing a 57x57 image for the iPhone. How do I specify both icons in a single plist?
Add a CFBundleIconFiles
key of type Array to your Info.plist. The array should contain 2 string items: the filenames of the two icons. The OS will then automatically choose the correct icon for each platform based on their pixel dimensions.
You can keep the CFBundleIconFile
key and have it point to the icon file for the iPhone for 3.0/3.1 compatibility.
Update May 2010: Apple now has Technical Note explaining this in great detail: Technical Q&A QA1686 – App Icons on iPad and iPhone
I tried to do this but the value-type submenu is grayed out with "string" selected. Why is this? What must I do to change the value-type to array?
CFBundleIconFile
CFBundleIconFiles
The first can only be a string, and will be used for iphone 3.1 and earlier builds (I think). The second can be changed to Value Type "array" (right click). Then click the triangle to the left of it(so it points down), and past a value to the right. Paste a second value to include another file name.
It seems the name doesn't matter, as long as it's a PNG. The file will be chosen based on which is the right size, so only include the name of one 57x57 for iPhone and one 72x72 for iPad.
I'm currently converting Math Cards Pro to be universal, so I haven't successfully submitted a universal app to the App Store, but I'm pretty confident that all this is right.
You can also add it via the built in editor.
icon.png is string 0 icon-ipad.png is string 1