Apple now requires applications to have a high resolution icon of size of 1024×1024 when submitting to iTunes. This same icon should be scaled down to various sizes for your application binary to support all the different screen resolutions of iOS devices. This includes app and search spotlight icons for the original iPhone, iPhone w/ Retina display, iPad, and iPad with Retina display. The help documentation specifies exact filenames that should be used for older devices as well as Info.plist keys that should be used for new devices.
Relieve the pain
It can be a little painful generating all the different icon sizes (currently there are 10) whenever you do an application update. If you use Photoshop to create your icons, then I recommend creating an Action Script to automate the process for you.
Always start with a 1024×1024 canvas when creating a new application icon. When you are ready to save your icon into the different format, pull up the Actions window, create a new action named ‘Export Icons for iOS’, and then hit the record button. For each of these icon filenames and formats select File | Save for Web & Devices, select PNG-24 non-transparency, and export to a folder on your desktop (ex: Exported Icons) using the following filenames and sizes:
- Icon.png - 57 x 57
- Icon@2x.png - 144 x 144
- Icon-72.png - 72 x 72
- Iconfirstname.lastname@example.org -144 x 144
- Icon-Small.png - 29 x 29
- Icon-Small@2x.png - 58 x 58
- Icon-Small-50.png - 50 x 50
- Icon-Smallemail@example.com - 100 x 100
- iTunesArtwork - 512 x 512
- iTunesArtwork@2x - 1024 x 1024
Once you finish exporting, stop recording your action, and now you can run this script whenever it’s time to export a new batch of icons. However, one thing you will have to do is rename the iTunesArtwork files to remove the PNG extension. I couldn’t figure out how to have the action script do this for you so you will have to do it manually every time.
Now add all the icon files to your iOS project in Xcode. (Figure A)
And update your Info.plist file with the following keys to let the system know the icons exist. (Figure B)
That’s it! Now when you create new projects you have an Action Script that can export your icons, and you can copy/paste the Info.plist keys from this project. I think you’ll find it will save you a ton of time for the next project.