1024 x 1024 icon asset missing for iOS (SOLVED)

Maybe this answer is too old, it’s 2014. Now I can’t find a way for submitting the 512 and 1024 icons via the appstoreconnect.apple.com website.

And a half year ago I sent another application made on Defold, that time everything was fine.

1 Like

I don’t remember ever using 1024 images in the actual app bundle, only on iTunes Connect.

1 Like

That is probably right. I’ll continue investigating and test a bit with a sample application.

1 Like

This happened to me as well @rsolovjov

Even though I had already submitted the 1024 icon via Appstore connect.

Funny story the next day I tried to submitted the app it didn’t required me to submit the 1024 icon again. That why we closed this thread. I suggest you try tomorrow and in a different browser just incase. I have had issues submitting apps via Safari believe it or not. And they disappear when I tried in Chrome or Firefox.

Hope this helps.

There is definitely something strange going on and I’m not sure who’s fault it is. It is easy enough for us to add 512 and 1024 icons to game.project and include those with the correct names, but the guidelines specifically say that hey shouldn’t be included.

I tried Safari and Chrome, the result is the same.

The same issue here.


I even tried to manually: unzip -> add missing 1024x1024 icon and update Info.plist -> sign resources -> zip it back. Although binary is valid and has that icon inside, it didn’t help, same story … Any guess what it could be?

I believe currently projects built by defold can’t be upload to app store((( so if you have some time please take a look on this.

P.S.

I also tried to check if the same icon will work with hello world xcode project (indeed it works) but resulted .ipa icons layout is really different from one that I’m getting from defold so i can’t really reuse this working layout to patch defold bundled .ipa.

P.S. P.S.

I guess for now the best thing to do just wait for random upload success as betofantasioso proposed.

Did you try modifying the Info.plist too?

Also are you 100% sure you are using the proper signing information?

Both yes. last item icon1024.png is one that I add (but I also tried apple recommended iTunesArtwork@2x.png and iTunesArtwork.png it doesn’t change anything).



For signing I used:

codesign -f -s 'iPhone Distribution: xxx xxx (xxx)' --timestamp=none --entitlements entitlements.xml Payload/my_app.app

Entitlements file was obtained from original bundle file with:

codesign -d --entitlements entitlements.xml Payload/my_app.app

After this process .ipa works perfect on end device and can be uploaded through Transporter as new build without any problem. But error sadly still appears.

Also I believe icon (marked by arrow) is indicator too if App Store Connect actually sees icon inside the bundle, it should show actual icon there if it can detect it supposedly.

That must have changed recently, I remember setting the app icon shown there on the site itself…

2020-09-05%2011_26_26-App%20Store%20Connect

https://help.apple.com/app-store-connect/#/dev8b5cb82e2

Here are the icons and a custom info.plist I used (set in game.project) last time I submitted an app successfully.

[ios]
app_icon_57x57 = /_ios_resources/icons/57.png
app_icon_72x72 = /_ios_resources/icons/72.png
app_icon_76x76 = /_ios_resources/icons/76.png
app_icon_114x114 = /_ios_resources/icons/114.png
app_icon_120x120 = /_ios_resources/icons/120.png
app_icon_144x144 = /_ios_resources/icons/144.png
app_icon_152x152 = /_ios_resources/icons/152.png
app_icon_167x167 = /_ios_resources/icons/167.png
app_icon_180x180 = /_ios_resources/icons/180.png
pre_renderered_icons = 1
bundle_identifier = com.subsoap.fsr
launch_image_320x480 = /_ios_resources/launch_images/ios_launch_320x480.png
launch_image_640x960 = /_ios_resources/launch_images/ios_launch_640x960.png
launch_image_640x1136 = /_ios_resources/launch_images/ios_launch_640x1136.png
launch_image_750x1334 = /_ios_resources/launch_images/ios_launch_750x1334.png
launch_image_1334x750 = /_ios_resources/launch_images/ios_launch_1334x750.png
launch_image_768x1024 = /_ios_resources/launch_images/ios_launch_768x1024.png
launch_image_1536x2048 = /_ios_resources/launch_images/ios_launch_1536x2048.png
launch_image_1024x768 = /_ios_resources/launch_images/ios_launch_1024x768.png
launch_image_1242x2208 = /_ios_resources/launch_images/ios_launch_1242x2208.png
launch_image_2208x1242 = /_ios_resources/launch_images/ios_launch_2208x1242.png
launch_image_2048x1536 = /_ios_resources/launch_images/ios_launch_2048x1536.png
launch_image_2048x2732 = /_ios_resources/launch_images/ios_launch_2048x2732.png
launch_image_2732x2048 = /_ios_resources/launch_images/ios_launch_2732x2048.png
launch_image_1668x2224 = /_ios_resources/launch_images/ios_launch_1668x2224.png
launch_image_2224x1668 = /_ios_resources/launch_images/ios_launch_2224x1668.png
launch_image_1125x2436 = /_ios_resources/launch_images/ios_launch_1125x2436.png
launch_image_2436x1125 = /_ios_resources/launch_images/ios_launch_2436x1125.png
infoplist = /_ios_resources/Info.plist

icons_info_plist.zip (2.6 MB)

@Pkeod

Yeah it’s weird as for me i have no input for icon at all.

The best I found on the internet, apple is detecting xcode tools version with what app was built if it’s above 8.3 it automatically asks for icon in bundle and remove icon input from the form. At least it’s a theory as I didn’t try to build my app with different set of tools, etc.

Do you have any clue what version of xcode/tools do you have for this app?

P.S.

Also Apple as always - oh my GOD!

Apple is definitely moving away from the solution where the App Store Icon could be set in iTunes Connect. The new way to work with the app icons is through an icon set and an .xcassets folder, just like with the launch screen storyboard.

We have a PR here for Defold 1.2.175: https://github.com/defold/defold/pull/5148 (not merged yet)
And updated docs here: https://defold.com/manuals/ios/#creating-an-icon-asset-catalog

2 Likes

I tried to apply this solution from MR manually. No luck yet.

For the starters on upload in Transporter I’m getting:

ERROR ITMS-90023: “Missing required icon file. The bundle does not contain an app icon for iPad of exactly ‘152x152’ pixels, in .png format for iOS versions >= 7.0. To support older operating systems, the icon may be required in the bundle outside of an asset catalog. Make sure the Info.plist file includes appropriate entries referencing the file.”

ERROR ITMS-90023: “Missing required icon file. The bundle does not contain an app icon for iPad of exactly ‘167x167’ pixels, in .png format for iOS versions supporting iPad Pro. To support older operating systems, the icon may be required in the bundle outside of an asset catalog. Make sure the Info.plist file includes appropriate entries referencing the file.”

ERROR ITMS-90023: “Missing required icon file. The bundle does not contain an app icon for iPad of exactly ‘76x76’ pixels, in .png format for iOS versions >= 7.0. To support older operating systems, the icon may be required in the bundle outside of an asset catalog. Make sure the Info.plist file includes appropriate entries referencing the file.”

ERROR ITMS-90704: “Missing App Icon. An app icon measuring 1024 by 1024 pixels in PNG format must be included in the Asset Catalog of apps built for iOS, iPadOS, or watchOS. Without this icon, apps cannot be submitted for review.”

I googled there is nice thread about why tablet images don’t work https://developer.apple.com/forums/thread/86290, so by changing <key>BuildMachineOSBuild</key> again i get rid of following tablet icons error.

But missing app icon error still exists no matter what:

ERROR ITMS-90704: “Missing App Icon. An app icon measuring 1024 by 1024 pixels in PNG format must be included in the Asset Catalog of apps built for iOS, iPadOS, or watchOS. Without this icon, apps cannot be submitted for review.”

I followed https://defold.com/manuals/ios/#creating-an-icon-asset-catalog to create Assets.car file in Xcode it contains all relevant icons.

And patched resulting Info.plist to match MR results:

    <?xml version="1.0"?>
    <!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
    <plist version="1.0">
        <dict>
            <key>BuildMachineOSBuild</key>
            <string>19G73</string>

            <key>CFBundleDevelopmentRegion</key>
            <string>en</string>

            <key>CFBundleDisplayName</key>
            <string>***</string>

            <key>CFBundleExecutable</key>
            <string>***</string>

            <key>CFBundleIcons</key>
            <dict>
                <key>CFBundlePrimaryIcon</key>
                <dict>
                    <key>CFBundleIconName</key>
                    <string>AppIcon</string>

                    <key>CFBundleIconFiles</key>
                    <array>
                        <string>Icon-60</string>
                        <string>Icon-76</string>
                        <string>Icon-83.5</string>
                    </array>

                    <key>UIPrerenderedIcon</key>
                    <false/>
                </dict>
            </dict>

            <key>UIRequiresFullScreen</key>
            <true/>

            <key>CFBundleIdentifier</key>
            <string>****</string>

            <key>CFBundleInfoDictionaryVersion</key>
            <string>6.0</string>

            <key>CFBundleName</key>
            <string>****</string>

            <key>CFBundlePackageType</key>
            <string>APPL</string>

            <key>CFBundleShortVersionString</key>
            <string>1.0</string>

            <key>CFBundleSignature</key>
            <string>????</string>

            <key>CFBundleSupportedPlatforms</key>
            <array>
                <string>iPhoneOS</string>
            </array>

            <key>CFBundleVersion</key>
            <string>1.0</string>

            <key>DTCompiler</key>
            <string>com.apple.compilers.llvm.clang.1_0</string>

            <key>DTPlatformBuild</key>
            <string>17G64</string>

            <key>DTPlatformName</key>
            <string>iphoneos</string>

            <key>DTPlatformVersion</key>
            <string>12.1</string>

            <key>DTSDKBuild</key>
            <string>16B91</string>

            <key>DTSDKName</key>
            <string>iphoneos12.1</string>

            <key>DTXcode</key>
            <string>1010</string>

            <key>DTXcodeBuild</key>
            <string>10B61</string>

            <key>UIFileSharingEnabled</key>
            <false/>

            <key>LSRequiresIPhoneOS</key>
            <true/>

            <key>MinimumOSVersion</key>
            <string>8.0</string>

            <key>UIDeviceFamily</key>
            <array>
                <integer>1</integer>
                <integer>2</integer>
            </array>

            <key>UIStatusBarHidden</key>
            <true/>

            <key>UIViewControllerBasedStatusBarAppearance</key>
            <false/>

            <key>UIRequiredDeviceCapabilities</key>
            <array>
                <string>armv7</string>
                <string>opengles-2</string>
            </array>

            <key>CFBundleLocalizations</key>
            <array>
                <string>en</string>
            </array>

            <key>UISupportedInterfaceOrientations</key>
            <array>
                <string>UIInterfaceOrientationPortrait</string>
            </array>

            <key>UISupportedInterfaceOrientations~ipad</key>
            <array>
                <string>UIInterfaceOrientationPortrait</string>
            </array>

            <key>CFBundleURLTypes</key>
            <array>
            </array>

            <key>LSApplicationQueriesSchemes</key>
            <array>
            </array>

            <key>UILaunchStoryboardName</key>
            <string>LaunchScreen</string>

            <key>NSPhotoLibraryAddUsageDescription</key>
            <string>Your application needs permission to save the content to the gallery.</string>

            <key>NSPhotoLibraryUsageDescription</key>
            <string>Your application needs permission to save the content to the gallery.</string>
        </dict>
    </plist>

Still error is the same although now on build upload and not on submit.
@britzl do you have any further ideas?

Currently ipa files layout looks like so after patch

Also small stuff that I noticed on my way:

#1 I tried to add something like this

<key>CFBundleIconFile</key>
<string>Icon.png</string>

together with and instead of it - same old result.

<key>CFBundleIconName</key>
<string>AppIcon</string>

#2 On build version and above

<key>BuildMachineOSBuild</key>
<string>19G73</string>

I believe, it also requires this key

<key>UIRequiresFullScreen</key>
<true/>

To work properly.

With the patched Info.plist and with the presence of an Assets.car file which are the errors you are getting from the Transporter app when uploading your IPA?

@britzl with next in Info.plist

<key>BuildMachineOSBuild</key>
<string>19G73</string>

I’m getting next errors:

With lower versions suggested in https://developer.apple.com/forums/thread/86290, it returns only:

ERROR ITMS-90704: "Missing App Icon. An app icon measuring 1024 by 1024 pixels in PNG format must be included in the Asset Catalog of apps built for iOS, iPadOS, or watchOS. Without this icon, apps cannot be submitted for review. For details, see https://developer.apple.com/ios/human-interface-guidelines/icons-and-images/app-icon/."

Which version of Xcode are you using and which macOS version?

An additional thing in new documentation https://defold.com/manuals/ios/#creating-an-icon-asset-catalog we have next statement

The App Store icon does not have to be referenced from *game.project* . It is automatically extracted from the Asset.car file when uploading to iTunes Connect.

which is entirely not true.

I can’t imagine that Asset.car embeds 1.4 MB file and weights 44KB …

So last question to finish my upload is how to reference App Store icon inside defold Info.plist.
@britzl

Ok, so that’s a problem right there then because when I’m testing it the app icon does in fact get packaged with the Assets.car file:

image

I tried latest xcode from appstore 11.7 - didn’t work.
I switched to xcode 10.1 now because supposedly it’s the one you used for Info.plist here
image
didn’t work neither.