201
votes

I submitted an app update, but I have received an email telling me this error has occurred:

Missing recommended icon file - The bundle does not contain an app icon for iPhone / iPod Touch of exactly '120x120' pixels, in .png format

How can I fix this problem?

Here are the current icon requirements from Apple.

I could not see 120x120 appearing anywhere? Is this iOS 7 specific? Should I include an icon named Icon-120.png or something?

Update: I added three icons to the resource folder (Icon-120.png : 120x120, Icon-76.png: 76x76 & Icon-152.png: 152x152), but it did not add them to the info.plist. The same warning email was received. I decided to not change anything and wait to see what would happen next.

To my utter amazement, the app went into the review stage 20 hours later and was released on the market the very next day! Kind of makes me wonder how many Apple/Windows app review people lurk around here.

16
so did you rejected your already uploaded Binary, modified the same with new 120x120 icon and uploaded again? I am just curious whether Apple review will ignore this error or reject the app in review. Thanks.Saurabh Hooda
I added an icon: Icon-120.png, but forgot to add it in plist.info. So I was still getting the warning. We'll find out what happens next soon. For solution, please read the comments to the answer below, I think they have found a way to solve it.TelKitty

16 Answers

313
votes

If you get an icon error when submitting an application from Xcode9, or if you cannot see app icon on your simulator as well as a device, just update your cocoapods to the latest version in your project. That issue is a bug in Xcode9 with cocoapods.


There's a new guideline for iPhoneX that can be seen here.


Here's a helpful website that creates an icon for iOS, Mac App and Android app.

You just need to drag and drop your 1024 x 1024 icon and the site will create all the icon sizes and send it to your email. Then follow the following method to set icons for iOS app.

After Apple launched iOS 8, iPhone 6 and 6 Plus, the app icon sizes and launch image sizes changed. Please visit my post for new sizes:

Image resolution for new iPhone 6 and 6+, @3x support added?


Yes, you need to add a 120x120 high resolution icon. Now, if you want to target only iOS 7, you just need 76 x 76, 120 x 120 and 152 x 152 icon sizes. If you also want to target iOS 6, you’ll need 57 x 57, 72 x 72, 76 x 76, 114 x 114, 120 x 120, 144 x 144 and 152 x 152 icon sizes. Without counting Spotlight and Settings icon if you don’t want the OS to interpolate them!

Enter image description here

Enter image description here

As per the blog post New Metrics for iOS 7 App Icons.

UPDATE:

As per Apple Guideline App-icon OR Icon and Image Sizes:

Icon dimensions (iOS 7 and later)

Enter image description here

Icon dimensions (iOS 6.1 and earlier)

Enter image description here

Create different sizes of the app icon for different devices. If you’re creating a universal app, you need to supply app icons in all four sizes.

For iPhone and iPod touch, both of these sizes are required:

  • 120 x 120 pixels

  • 60 x 60 pixels (standard resolution)

For iPad, both of these sizes are required:

  • 152 x 152

  • 76 x 76 pixels (standard resolution)


Now set this into Project:

  • Create a new icon with 120 pixels with high-resolution and 60 pixels as regular as above that the Apple documentation mentions and set the name. For example, icon-120.png and icon-152.png.

  • Put this icons into your project Resource folder and add this icon into the project:

Enter image description here

  • After this, click on ProjectName-Info.plist and find the icon files row. If you can't find it, then add it by clicking the (+) sign and select icon files and then set all icon images like below.

Enter image description here

Enter image description here

Now archive and distribute your project as we did for submission of the app binary into the App Store. I hope now you can submit your app without any icon issue.


NOTE:

Be careful to provide all the icons you need. Otherwise your app will not pass Apple validation. If you’ve received this kind of email:

Invalid Image - For iOS applications, icons included in the binary submission must be in the PNG format.

- If your application supports the iPhone device family, you must include square icons of the following dimensions: 57x57 pixels and 120x120 pixels.

- If your application supports the iPad device family, you must include square icons of the following dimensions: 72x72 pixels, 76x76 pixels and 152x152 pixels

Apple is now accepting applications that work on iOS 7 as well, so whatever the Deployment target 6.1 or earlier, but you also need to provide the iOS 7 icon sizes as I mention above (that the store is expecting).

Xcode 5 app icon Manage

If you are using xCode5 The first thing to update is the icons. Xcode 5 introduces Asset Catalogs to simply managing multiple copies of an image (such as for multiple resolutions). We’ll create one to manage both the Game’s icons, along with the Launch Images.

enter image description here

Now, click the Use Asset Catalog button. When confirming the migration, you’re also asked if you wish to migrate the Launch Images (which is iOS talk for the splash screen that appears when starting your app) - you’ll want to ensure this is checked as well.

enter image description here

Please take a Look for more Info Apple doc of Asset Catalogs

27
votes

The accepted answer is great, but here's the short answer:

<key>CFBundleIconFiles</key>
<array>
    <string>[email protected]</string>
    <string>icon.png</string>
    <string>Icon-Small.png</string>
    <string>[email protected]</string>
    <string>Default.png</string>
    <string>[email protected]</string>
    <string>icon-72.png</string>
    <string>[email protected]</string>
    <string>Icon-Small-50.png</string>
    <string>[email protected]</string>
    <string>Default-Landscape.png</string>
    <string>[email protected]</string>
    <string>Default-Portrait.png</string>
    <string>[email protected]</string>

New icons below here

    <string>icon-40.png</string>
    <string>[email protected]</string>
    <string>icon-60.png</string>
    <string>[email protected]</string>
    <string>icon-76.png</string>
    <string>[email protected]</string>
</array>

Found this here by searching for "The bundle does not contain an app icon for iPhone / iPod Touch of exactly '120x120' pixels, in .png format." in Google.

8
votes

You don't have to do it this complicated way. If you are using XCode 5 (which I am sure most of us are) then create your icons call them whatever you like i.e.

  • myIcon-58.png
  • myIcon-57.png
  • myIcon-72.png
  • myIcon-80.png
  • myIcon-100.png ....

And drag and drop them on to the correct boxes under AppIcon. See screenshots. You don't have to manually edit plist file.

enter image description hereenter image description hereenter image description here

6
votes

One easy way if you have App icon of size 1024 X 1024. just upload it on below site, It will generate icon folder Add AppIcon.appiconset in to your application.

Step 1:

Upload your existing 1024 X 1024 icon on Below Site :

https://makeappicon.com/

Step 2 :

It will send you mail.

Download icon.zip from email.

Step 3 : Drag and Drop AppIcon.appiconset to your application. It will contain all require icon.

It may help you all.

Edit : I am not owner/ promoter of this site. It will save our time.

5
votes

I want to add another pitfall. Even if you did everything right, you may get trapped by this error if you support more than one target in your build process.

The image asset catalog is part of a target and even if you selected it in Xcode5 to be used for your target, it does not mean it is automatically added.

As a result, the build works like a charm, but the asset catalog is not added to the IPA and the AppStore validation fails with the Error, that the icons are missing.

To fix or check that the assets are part of the target, select the assets-entry in the Xcode project and make sure your target is checked in the inspector.

5
votes

In my case it was linked with CocoaPods. I've spent a bunch of time to find what was the reason, cause everything seemed correct. I found it over here https://github.com/CocoaPods/CocoaPods/issues/7003. I just moved the "[CP] Copy Pods Resources" and "[CP] Embed Pods Frameworks" above "Copy Bundle Resources" in the Build Phases and the error dissapeared.

3
votes

I faced the same issue while submitting the app using Xcode 4.6. It does not recognise the icons with dimension 120x120, 58x58, 29x29, etc. So when I tried to add these icons into the info.plist and submit the app for review, Xcode 4.6 did not allow me to do so. On submitting the app without the above icons, I got a mail saying -

"Your delivery was successful, but you may wish to correct the following issues in your next delivery: Missing recommended icon file - The bundle does not contain an app icon for iPhone / iPod Touch of exactly '120x120' pixels, in .png format."

Since, it was recommended and not necessary, I submitted the app anyhow. I added the above recommended icons to the bundle but did not specify them in the Info.plist. I got the same mail again. This time I ignored it and to my surprise the app was accepted.

I wanted my app to run on iOS 5 and above and therefore, I had to use Xcode 4.6 and not the latest Xcode 5 which properly allows only apps for iOS7 and above only.

UPDATE:

NOTE: "Starting February 1st 2014 new apps and app updates submitted to the App Store must be built with Xcode 5 and iOS 7 SDK". https://developer.apple.com/news/?id=12172013a#top

Thus, this scenario will be invalid in future.

2
votes

This should be called a warning, not an error. At least the email says that the icon file is "recommended" and not "required". You can safely ignore this warning if you target iOS 6. Of course, for iOS 7 you would need the new dimensions and also look out for the new rounding of the icon's corners

2
votes

For any Xamarin.iOS or Xamarin.Forms developers, additionally you will want to check the .csproj file (for the iOS project) and ensure that it contains references to the PNG's and not just the Asset Catalog i.e.

<ItemGroup>
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\Contents.json" />
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\Icon-40.png" />
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\Icon-40%402x.png" />
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\Icon-40%403x.png" />
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\Icon-60%402x.png" />
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\Icon-60%403x.png" />
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\Icon-72.png" />
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\Icon-72%402x.png" />
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\Icon-76.png" />
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\Icon-76%402x.png" />
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\Icon-83.5%402x.png" />
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\Icon-Small-50.png" />
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\Icon-Small-50%402x.png" />
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\Icon-Small.png" />
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\Icon-Small%402x.png" />
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\Icon-Small%403x.png" />
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\Icon.png" />
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\Icon%402x.png" />
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\NotificationIcon%402x.png" />
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\NotificationIcon%403x.png" />
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\NotificationIcon~ipad.png" />
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\NotificationIcon~ipad%402x.png" />
</ItemGroup>
1
votes

In my case i simply removed CFBundleIcons~ipad key from the info.plist file which was blocking the use of AppIcon set for iPad.

The target of my project was iPhone and IOS 8. XCode version was 6.3. Setting CFBundleIcons~ipad probably come from an early version of XCode.

1
votes

Just had same problem. Using Xcode 8.3.3 and wanted to use AppIcon in Assests catalogue. Tried all sorts of Stack Overflow answers without success.

Finally learned about a deep clean step from Ken/Apple Forum:

  • removed all icon files, whether from resources (delete - trash) or appicon file (select - remove selected items); removed even assets folder
  • deep cleaned (Use the Product menu w/option key pressed, then choose to 'clean build folder')
  • added a new asset catalogue and called it "Assets" right clicked in Assets folder and added new app icon set - changed that one in inspector to be for iOS >=7 triple

  • checked all my icon files OUTSIDE of Xcode (all were already png files of right resolution, but some had still colour profile attached from photoshop elements or did have indexed colour instead of RGB profile. so I made sure I only save a png file without colour profile and from a background layer) - not sure that was necessary

  • archived the build from Product menu
  • validated and uploaded the build from Window - Organizer
0
votes

In my case, my App icon files were not in the camel case notation. For example:

My Filename: Appicon57x57

Should be: AppIcon57x57 (note the capital 'i' here)

So, in my case the solution was this:

  1. Remove all the icon files from the Asset Catalog.
  2. Rename the file as mentioned above.
  3. Add the renamed files back to the Asset Catalog again.

This should fix the problem.

0
votes

Adding another "Same symptoms, but different solution" response, just in case somebody is having the same problem, but none of the common solutions are working.

In my case, I had an app that started development prior to the instruction of asset catalogs and the flexibility in icon naming conventions, but was first submitted to the store after the transition. To resolve the issue I had to:

  1. Delete all the "icon related" lines from the Info.plist
  2. Switch back to "Don't use asset catalogs" for both AppIcons and LaunchImages
  3. Switch back to asset catalogs for AppIcons and LaunchImages
  4. Re-drag&drop the image files into the appropriate locations.
0
votes

I created my AppIcon catalog manually and had all the correct icons in it, but my project was not using it as the icon catalog. On the project's General tab (where you can set the project name and version number), there was an entry for App Icons Source, but no way to select the catalog I created. I had to click the button to create a new catalog, then delete that new catalog, and then the button changed to a menu where I could select the existing catalog.

0
votes

For generating icons for your Xcode projects, I'd suggest you consider using SquareIcon. I believe that it makes creating app icon sets for Apple platforms very easy. Just to let you know, this is my own app.

You can drop in a generic image file of your icon (like a PNG or JPG) and generate a .appiconset file which you can put in your Xcode project's asset catalog. This removes the requirement of manually resizing a bunch of images.

0
votes

I got this error when I was using the app icon image which was resized to 120x120 from 180x180 sized icon using the preview app on MAC. The error is gone When I removed the 120x120 icon from the project. Resizing icons can mess-up with the format required by Apple.