Guys! Please note that icon and launch image sizes are moving targets so check out the latest Apple documentation first. They have improved their docs pretty well in the past year or so. Apple guidelines
We use the following table for our iPhone/iPad projects when the OS target is 3.2 or above. The table is updated for iOS 5 and Xcode 4.3.3:
Name | Size (pixels) | Platform |
Icon.png | 57 x 57 | Universial application icon |
Icon-settings.png | 29 x 29 | Universial application icon for settings area. Alternative name: Icon-Small.png |
Icon@2x.png | 114 x 114 | iPhone retina application icon |
Icon-settings@2x.png | 58 x 58 | iPhone retina application icon for settings/search area |
Icon~ipad.png | 72 x 72 | iPad application icon. Alternative name: Icon-72.png Add some smaller (iPad doc: 64×64, other optional 32×32, 24×24, 16×16) custom icons to your project. See comments. |
Icon@2x~ipad.png | 144 x 144 | iPad retina application icon. |
Icon-spot~ipad.png | 50 x 50 | iPad icon for spotlight search. Alternative name: Icon-Small-50.png iPhone OS trims 1 pixel from each side and adds a drop shadow. The actual size is 48×48 pixels. |
iTunesArtwork.png | 1024 x 1024 | Universial application icon for iTunes App Store. Uploaded separately to iTunes. It’s included in the app bundle too, file name: iTunesArtwork. In an iPad application iPhone OS uses this image to generate the large (320×320) document icon if it is not supplied otherwise. |
Default.png | 320 (w) x 480 (h) | iPhone/iPod 2, 3 portrait launch image |
Default@2x.png | 640 (w) x 960 (h) | iPhone 4 retina portrait launch image |
Default~ipad.png | 768 (w) x 1004 (h) | iPad. Specifies the default portrait launch image. This image is used if a more specific image is not available. Use full size template (768×1024) to design this launch image. The 20 pixels height statusbar is on by default and occupies the top of the screen, aka the 1004 rows vs. 1024. |
Default@2x~ipad.png | 1536 (w) x 2008 (h) | iPad retina. |
Optional icons and images: | ||
Icon-doc.png | 22 (w) x 29 (h) | Universial document icon |
Icon-doc@2x.png | 44 (w) x 58 (h) | iPhone 4 hi-res document icon |
Icon-doc~ipad.png | 64 x 64 | iPad document icon (small) |
Icon-doc320~ipad.png | 320 x 320 | iPad document icon (large) |
Background-xxx.png | 320 (w) x 480 (h) 640 (w) x 960 (h) 768 (w) x 1024 (h) | iPhone/iPod Touch 2, 3 background image, iPhone 4 background image, full size iPad background image, full size. For most projects the status bar is hidden, so use full screen size by default. |
Default-PortraitUpsideDown~ipad.png | 768 (w) x 1004 (h) | iPad. Specifies an upside-down portrait version of the launch image. The height of this image should be 1004 pixels and the width should be 768. This file takes precedence over the Default-Portrait.png image file for this specific orientation. |
Default-LandscapeLeft~ipad.png | 1024 (w) x 748 (h) | iPad. Specifies a left-oriented landscape version of the launch image. The height of this image should be 748 pixels and the width should be 1024. This file takes precedence over the Default-Landscape.png image file for this specific orientation. |
Default-LandscapeRight~ipad.png | 1024 (w) x 748 (h) | iPad. Specifies a right-oriented landscape version of the launch image. The height of this image should be 748 pixels and the width should be 1024. This file takes precedence over the Default-Landscape.png image file for this specific orientation. |
Default-Portrait~ipad.png | 768 (w) x 1004 (h) | iPad. Specifies the generic portrait version of the launch image. |
Default-Landscape~ipad.png | 1024 (w) x 748 (h) | iPad. Specifies the generic landscape version of the launch image. |
Default-Portrait@2x~ipad.png | 1536 (w) x 2008 (h) | iPad retina. Specifies the generic portrait version of the launch image. |
Default-Landscape@2x~ipad.png | 2048 (w) x 1496 (h) | iPad retina. Specifies the generic landscape version of the launch image. |
Typical icons are PNG files with 90 degree corners, but no transparency, no layers, and set to 72 PPI. iPhone OS applies rounded corners, optionally shine, and other effects. If you have added these effects let your programmers know it. When you do not let the iPhone/iPad OS to apply the gloss to your icons, developers must add a key to info.plist called UIPrerenderedIcon and make it checked. The standard bit depth is 24 bits + 8-bit alpha channel.
Designers and programmers alike understand now that the sizes of items on iPhone/iPad screens are not constants. Differences in screen size and zoom functionality are common place, but PNG format and 72 PPI is still the default. (PNG discards pixel density. Most image editors, including Adobe Photoshop, assume that an image’s pixel density is 72 if the information is not stored.) iPad icons can be tricky. Some designers release the standard iPad icons only but fail to include some crisp small size icons as options for OS. Add some tiny iPad icons to your project in the sizes of 64×64, 32x32px, 24x24px and 16x16px. Programmers know how to include these files (see Info.plist). You should know that when the user taps on the main application icon the app immediately starts to load. It’s important to make the launch time as short as possible. Every iPhone/iPad app should ship with a launch image which mimicks the interface by using a static image. The launch image should be as small a file as possible to ensure quick loading. Do not create image files in the megabyte territory. Notes for developers: In the Info.plist file developers specify the orientations the application supports along with the related launch images. If missing, they must add these lines:
scale_modifier: @2x
device_modifier: ~ipad or ~iphone:
For standard devices:
filename.png and filename~ipad.png
For retina displays:
filename@2x.png and filename@2x~ipad.png such as:
launchimage-Portrait.png
launchimage-Portrait@2x.png (retina iPhone)
launchimage-Portrait~ipad.png
launchimage-Landscape~ipad.png (iPad landscape)
launchimage-Portrait@2x~ipad.png (retina iPad)
launchimage-Landscape@2x~ipad.png (retina iPad landscape)
You can use the method of [UIImage imageNamed:@"launchimage.png"] to load these images but you must know that devices are case sensitives in file names.
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>