56

I got this error from Application Loader when uploading my app to App Store. My app was developed at the time of iOS 3.0, and still targets at iOS 4.3 and above. I recently updated the app to make it iOS7-compatible. But the Application Loader always returned this type of error to me. I searched the Internet and found that I am not alone. So I created this post and hopefully what I found out about the app icons can help other people.

Julia Zhao
  • 899
  • 1
  • 6
  • 11

9 Answers9

96

Sounds like you may, like me, have accepted the suggestion by XCode 5.0 to migrate your icon files to a catalog.

When you do that, you need to remove the CFBundleIconFile ("Icon file") parameter from your project's .plist file. That's the old way of doing this, and once you've migrated your icon files, obviously that parameter is incorrect.

Strange that XCode's migration doesn't fix this for you automatically. Would have been so very Apple to help you out there.

Wytze
  • 7,844
  • 8
  • 49
  • 62
  • Use Spotlight search to locate .plist file, the file might be "red" in xCode. For my app I removed the following section: CFBundleIconFiles iqfitfun_lite_icon_57_w0_shadow.png iqfitfun_lite_icon_72_w0_shadow.png iqfitfun_lite_icon_114_w0_shadow.png – Michael Biermann Dec 10 '13 at 13:47
  • 3
    I had to remove both the CFBundleIconFile mentioned in this answer and the CFBundleIconFiles (plural) mentioned in the comment above. Thanks folks! – txdev Jan 06 '14 at 14:33
  • My google-fu has failed me again. I have figured out the solution myself AND written SO answer before finding yours :) http://stackoverflow.com/a/21735466/886653 – Pavel Zdenek Feb 12 '14 at 17:47
  • Basically, you can remove any `` containing *icon* and the `` or `` or `` following it. My app had all 3 of these which I removed: `CFBundleIconFile` and `CFBundleIcons` and `CFBundleIcons~ipad` – Bruno Bronosky Feb 23 '15 at 21:29
  • This one should be accept. Remove the CFBundleIconFile parameter should work. – einverne Oct 22 '15 at 08:40
  • @trainoasis Did you solve with cordova/phonegap?. I have same issue. Could not find any correct solution. – bCliks Feb 22 '16 at 07:58
  • 1
    @bCliks I did although I'm not sure how since it was way back now. Perhaps my question/answer here can help also? http://stackoverflow.com/questions/24610313/app-cache-ios-phonegap – trainoasis Feb 22 '16 at 10:05
  • Plus one for you. Deleting the info plist thing worked. My project is old, so that helped. – badhanganesh Oct 16 '17 at 10:46
11

If your app supports iOS 5.0 and up, moving all icon files to the Asset Catalog will work.

If your app still needs to support lower versions of iOS (like mine), the solution is to use the CFBundleIconFiles key in the project plist file. In my case, my app is an iPhone-only app, so I did the following:

  1. Prepare 8 icon files: two app icons for iOS6 and earlier (57x57 and 114x114), two icons for iOS7 (60x60 and 120x120), two icons for spotlight search/settings for iOS 6 and earlier (29x29 and 58x58), and two icons for spotlight (40x40 and 80x80). The files must be PNG files. Name these files whatever you want, but the high-resolution file name must in the form of lowResolutionName@2x.png
  2. In the project plist file, edit the CFBundleIconFiles key (which is an array) to include the names of the above icon files. Only the low resolution file names are needed, and the extension (.png) should not be included. The Xcode will automatically find the high resolution files as long as their names follow the convention (with @2x).
  3. Make sure your project does not contain the Asset Catalog folder
  4. If you did the above things right, when you check the "General" section of the app target, you should see that Xcode has listed all the icon files in right place under the "app icons" section.
  5. If your app needs to support iOS 3.1 and earlier, you need to make four extra icon files. The size and the name of these files are as follows: Icon.png (57x57), Icon@2x.png (114x114), Icon-Small.png (29x29), Icon-Small@2x.png (58x58). The fixed names are required by iOS and cannot be changed. But as long as you name the icon files that way, you don't need to do any extra things.

After these steps, you should not have any problems with the icons when uploading your app to the App Store.

The Asset Catalog simplies some of the above steps, e.g, generating low resolution icon files (my guess).

I got the above info from "iOS Human Interface Guidelines", "iOS app programming guide" and "information property list reference". Search for "app icons" and everthing is explained.

Julia Zhao
  • 899
  • 1
  • 6
  • 11
  • What does 3. mean? should I remove .xcassets folder? – Stas Nov 29 '13 at 17:32
  • 1
    You don't need to remove the folder physically. What I meant was that in the "Target setting->General" window, the "source" of the "App Icons" and the "Launch Images" was "don't use asset catalogs". – Julia Zhao Nov 30 '13 at 23:18
  • Point#2 above was all I needed. I am also using asset catalogs and targeting iOS4.3 and above. – Samik R Mar 22 '14 at 09:25
10

My solution was: in 'build phases', under 'copy bundle resources', click '+' and choose all your icons.

good luck.

Elia Weiss
  • 8,324
  • 13
  • 70
  • 110
4

Your recipe work's perfectly.

For my part,

I've select NameOfMyApp-info.plist in the Supporting Files.

I've only have to open the Key: Icon files.

I've just deleted all the string of image. (The error message in the Submit was exactly about those images.

I've try submiting again and : Submit Successful.

Thank's

ShakeMan
  • 481
  • 1
  • 5
  • 10
4

None of the above solutions worked in my particular instance.

In the end the following did work so in case anyone else has the same problem:

  1. Remove the app-icon set that is causing the problem from the Asset Catalog
  2. In target properties from the navigator pane remove and then readd the 'Using Asset Catalog' for app icons - this will recreate an empty app-icon set
  3. Select your desired sizes and assign the correct images by dragging from the navigation pane
  4. Delete CFBundleIconFiles keys (there is a second one for iPad)
  5. Rebuild archive
user38932
  • 41
  • 1
  • 2
    Thanks for this. I had the icon in the blank space for CarPlay on a Universal app... obviously not CarPlay compatible. The existence of that icon was causing the issue. – Kinsa Mar 06 '15 at 00:42
2

Found the same issue while building Cordova project.

Removing CFBundleIcon with icon.png in info.plist cleared the issue for me

Amal T S
  • 3,327
  • 2
  • 24
  • 57
1

I basically went into the info.plist and removed the icons that I didn't need. I started out with the Cocos2d template and didn't need most of them, so I deleted them all. When I archived the program and went to validate it, it gave errors such as "where is this icon and that icon?" Well, I deleted them all. But in the info.plist all 13 icons were still listed, so I just removed all the ones I deleted.

1

In order for me to fix this issue I had to add again one icon image.

The error mentioned 'CFBundleIcons':AppIcon40x40 file and when I checked the Images.xcassets under the AppIcon image set the image the Iphone Spotlight IOS 7-9 40pt was in fact with the wrong resolution so I dragged again from Finder the icon with 80x80 resolution (40x40 multiplied by the scale factor 2x).

tavi
  • 594
  • 6
  • 15
1

This error can have several causes as it seems. In my case, two Icon Files had the wrong pixel dimensions (generated by cordova). So you might check that.

osxdirk
  • 560
  • 6
  • 11