Support of iOS 5.0 icons with XCode 5

I've found better solution working on iOS 5 with asset catalog.

Set this in Info.plist (other icons sections like CFBundleIcons are generated and overwritten by Xcode, so leave them empty):

<key>CFBundleIconFiles</key>
<array>
    <string>AppIcon57x57.png</string>
    <string>AppIcon72x72.png</string>
    <string>[email protected]</string>
    <string>[email protected]</string>
</array>

and add just two more icons in your resources (outside assets):

AppIcon72x72.png
[email protected]

This way you will have only two icons duplicated in your bundle.

The source of problem is that asset catalog generates such icons with ~ipad suffixes which iOS 5 doesn't understand, so we have to add these files without ~ipad suffix manually. iOS 6 doesn't have this problem and finds proper icons with and without ~ipad suffix.

Use icon name (AppIcon or Icon or anything else) as you set in your asset catalog.


I finally found a working solution. I don't use anymore the asset catalog. And I put these lines in my info.plist file:

<key>CFBundleIconFile</key>
<string>Icon-57.png</string>
<key>CFBundleIconFiles</key>
<array>
    <string>Icon-72.png</string>
    <string>[email protected]</string>
    <string>Icon-57.png</string>
    <string>[email protected]</string>
    <string>[email protected]</string>
    <string>Icon-60.png</string>
    <string>[email protected]</string>
    <string>Icon-76.png</string>
    <string>[email protected]</string>
    <string>Icon-29.png</string>
    <string>[email protected]</string>
    <string>Icon-50.png</string>
    <string>[email protected]</string>
    <string>Icon-40.png</string>
</array>
<key>CFBundleIcons</key>
<dict>
    <key>CFBundlePrimaryIcon</key>
    <dict>
        <key>CFBundleIconFiles</key>
        <array>
            <string>[email protected]</string>
            <string>Icon-57.png</string>
            <string>Icon-72.png</string>
        </array>
        <key>UIPrerenderedIcon</key>
        <true/>
    </dict>
</dict>

It's working like a charm now :)