11

When submitting my application using the Application Loader tool, I have the following error:

ERROR ITMS-90236: "Missing required icons. The application bundle does not contain an icon in ICNS format, containing both a 512x512 and a 512x512@2x image. For further assistance, see the Apple Human Interface Guidelines."

My icon (referenced by the Info.plist file) contains both files because it was created with the following command:

iconutil -c icns icon.iconset

Where the icon.iconset folder contains the following item:

-rw-r--r--   1 martin  staff    11K 18 mai 11:24 icon_128x128.png
-rw-r--r--   1 martin  staff    23K 18 mai 11:24 icon_128x128@2x.png
-rw-r--r--   1 martin  staff   3,3K 18 mai 11:24 icon_16x16.png
-rw-r--r--   1 martin  staff   4,2K 18 mai 11:24 icon_16x16@2x.png
-rw-r--r--   1 martin  staff    23K 18 mai 11:24 icon_256x256.png
-rw-r--r--   1 martin  staff    48K 18 mai 11:24 icon_256x256@2x.png
-rw-r--r--   1 martin  staff   4,2K 18 mai 11:24 icon_32x32.png
-rw-r--r--   1 martin  staff   6,6K 18 mai 11:24 icon_32x32@2x.png
-rw-r--r--   1 martin  staff    48K 18 mai 11:24 icon_512x512.png
-rw-r--r--   1 martin  staff    92K 18 mai 11:24 icon_512x512@2x.png

What could be wrong with my icon?

Edit

My Info.plist file:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CFBundleExecutable</key>
    <string>Joker</string>
    <key>CFBundleGetInfoString</key>
    <string>Created by Qt/QMake</string>
    <key>CFBundleIconFile</key>
    <string>Joker.icns</string>
    <key>CFBundleIdentifier</key>
    <string>com.phonations.joker</string>
    <key>CFBundlePackageType</key>
    <string>APPL</string>
    <key>CFBundleShortVersionString</key>
    <string>15.05.25</string>
    <key>CFBundleSignature</key>
    <string>???</string>
    <key>CFBundleVersion</key>
    <string>15.05.25</string>
    <key>LSApplicationCategoryType</key>
    <string>public.app-category.video</string>
    <key>NOTE</key>
    <string>This file was generated by Qt/QMake.</string>
    <key>NSHighResolutionCapable</key>
    <string>True</string>
    <key>NSPrincipalClass</key>
    <string>NSApplication</string>
</dict>
</plist>
Martin Delille
  • 11,360
  • 15
  • 65
  • 132
  • Do you have another .icns file in your application bundle (which is missing the high-res image)? – pi3 May 25 '15 at 10:59

5 Answers5

3

I had the same problem and solved it by converting my icns file to an inconset folder and then back to the icns format using the icontool. Then the Application Loader did not complain anymore.

Just try to update your system (Command Line Tools) and use the following commands to regenerate icon.icns to icon_new.icns:

ICON_OLD=icon.icns
ICON_NEW=icon_new.icns
icontool -c iconset -o "${ICON_OLD%.icns}.iconset" "$ICON_OLD"
icontool -c icns -o "$ICON_NEW" "${ICON_OLD%.icns}.iconset"

Originally I created the icns file from png image using the online converter https://iconverticons.com/online/ which always worked well for me. When I converted the icns to iconset, the icon files looked fine, but after converting it back to icns, the icns filesize was 2-times larger than of the icns file generated by the online tool. Strange thing is, that when I converted again the larger icns back to iconset, both iconset directories contained the same list of files.

It was probably caused by some update to icontool and appstore requirements which was not yet applied on the online converter's system.

Michal Fapso
  • 1,242
  • 1
  • 15
  • 21
1

You can get this error even if your main application icon is correct. In my case there were document icons (also referenced from Info.plist) which didn't have the required 512x512@2x resolution.

Interestingly the validation process doesn't complain if the document icons are simply removed/missing.

This error message would be correct: "The application bundle does contain an icon in ICNS format, not containing both a 512x512 and a 512x512@2x image."

pi3
  • 1,235
  • 13
  • 15
1

Steps to fix icon issue:-

1.first create a folder and rename it as “icon.iconset”.

2.copy image of size 1024x1024 into that folder 3.right click on that image to convert png to icns format. if not that option available just download Automator App. 4. you will get icon.icns. place this icns image in resourcses folder (replace it) 5. add path in package.json Note:Image must be square format and have transparent background (1024x1024)

1

It happened when i tried to submit a very old app to the app store. When I selected the app-target General settings in the Project-Settings, the App Icons section presented a "convert to assets" button. Once I did this, the icon was used from the assets catalog, which worked better than the old icns-file.

Karsten
  • 2,772
  • 17
  • 22
0

In your xcode, select Runner > Runner > Assets from top left corner in workspace.

Runner > Runner > Assets

You might notice that there is an empty "icon list item" in the list. Double click on the empty icon and browse to the location of your icon file & click on choose.