iOS - App Store says "Xamarin is a FAIL" for icons

XamtasticXamtastic Member ✭✭✭

After a status of "Success" from the Application Loader when I Sign/Distribute to the App Store, I keep getting a rejection from the App Store (in email) that reads:

ITMS-90713: Missing Info.plist value - A value for the Info.plist key 'CFBundleIconName' is missing in the bundle 'com.xx.app'. Apps built with iOS 11 or later SDK must supply app icons in an asset catalog and must also provide a value for this Info.plist key. For more information see http://help.apple.com/xcode/mac/current/#/dev10510b1f7.

After weeks of trying to pass the Application Loader, I'm here. Everything is signed and looks good with the Icons -- on MY END.

Minimum OS set to 11: otherwise Application Loader rejects IPA.

Additionally, in the Info.plist I have tried to do the following:

<key>CFBundleIcons</key>
 <dict>
          <key>CFBundlePrimaryIcon</key>
          <dict>
                   <key>CFBundleIconName</key>
                   <string>AppIcon</string> /// and <string>Icon</string>
                   <key>CFBundleIconFiles</key>
                   <array>
                            <string>[email protected]</string> 
                            <string>Icon-72.png</string>
                            <string>Icon.png</string>
                            .....
                   </array>
          </dict>
 </dict>

Fails with:

We identified one or more issues with a recent delivery for your app, "Cool App" 1.1909171400 (1.11). Please correct the following issues, then upload again.
ITMS-90546: Missing Asset Catalog - Your app is missing the asset catalog file in 'com.xx.app. For more information see http://help.apple.com/xcode/mac/current/#/dev10510b1f7.

If I set the Info.plist to just {below} I get the initial message:

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

Linking to prior issue in case it sheds light.
Old: https://forums.xamarin.com/discussion/comment/389211#Comment_389211

Answers

  • JoeMankeJoeManke USMember ✭✭✭✭✭

    I don't have CFBundleIconName in my Info.plist, instead I have XSAppIconAssets.

    <key>XSAppIconAssets</key>
    <string>Images.xcassets/AppIcons.appiconset</string>
    
  • XamtasticXamtastic Member ✭✭✭

    Mine too.

    I was using the generic Xamarin.iOS startup. Then applied the Assets (and config, see link in original for more)...

                    <key>XSAppIconAssets</key>
                    <string>Assets.xcassets/AppIcons.appiconset</string>
                    <key>XSLaunchImageAssets</key>
                    <string>Assets.xcassets/LaunchImages.launchimage</string>
    

    Updated here as well...

                    <key>XSAppIconAssets</key>
                    <string>Media.xcassets/AppIcons.appiconset</string>
                    <key>XSLaunchImageAssets</key>
                    <string>Media.xcassets/LaunchImages.launchimage</string>
    
  • LandLuLandLu Member, Xamarin Team Xamurai

    Try to remove the CFBundleIcons and only leave XSAppIconAssets in your info.plist.
    Make sure the path for your asset catalog is correct.
    Try to add the images in the asset again and ensure they are all valid.

  • XamtasticXamtastic Member ✭✭✭

    Yup, that's what I had prior. I added the CFBundleIcons and everything associated to try and resolve issue. What your saying makes sense....the config has all this so I shouldn't need it in the plist, one would assume. Also, I created an instance in Xcode and the file/plist is what I see in VS, so it seems like they're on the same page (?).

    I have removed the Assets from the entire VS and reapplied them including the images

  • LandLuLandLu Member, Xamarin Team Xamurai

    @Xamtastic Yes, once you have configured the Asset.Catalog there's no need to consume the separate icon images.
    The info.plist should be the same as it is only a key-value pairing file without other extra formats.

  • XamtasticXamtastic Member ✭✭✭

    @LandLu So I have seen "quirky" behavior in the past developing MS VS first into Mac/App Store (gotten much better). What I decided to do was to create a NEW project on Mac VS and copied over my MVVM (not using MVVMCross or anything, just simple: models > viewmodels > view). .......and no success, all same issues.

    Today I'll try and mess around with the Xamarin packages and hope what few plugins I do have don't crash on me :D

  • LandLuLandLu Member, Xamarin Team Xamurai

    I don't think this is the issue of your code.
    I'm confused about which icons you are using CFBundleIcons or Asset.Catalog? We should migrate from CFBundleIcons to assets now.
    If you have filled all the icons the asset requires this rejection should be solved.

  • XamtasticXamtastic Member ✭✭✭

    Generic Xamarin.iOS plist, with the Assets. ....the CFBundleIcons was me grasping at hope.

    I've changed the MinimumOSVersions (sticking with 11, best build) and Xamarin.Forms NuGet Versions all day yesterday and the situation only got worse, but at least I know that's not the issue :)

    Below is what I have in my plist:

    <dict>
        <key>UIDeviceFamily</key>
        <array>
            <integer>1</integer>
        </array>
        <key>UISupportedInterfaceOrientations</key>
        <array>
            <string>UIInterfaceOrientationPortrait</string>
        </array>
        <key>UISupportedInterfaceOrientations~ipad</key>
        <array>
            <string>UIInterfaceOrientationPortrait</string>
            <string>UIInterfaceOrientationPortraitUpsideDown</string>
            <string>UIInterfaceOrientationLandscapeLeft</string>
            <string>UIInterfaceOrientationLandscapeRight</string>
        </array>
        <key>MinimumOSVersion</key>
        <string>11.0</string>
        <key>CFBundleDisplayName</key>
        <string>MyApp</string>
        <key>CFBundleIdentifier</key>
        <string>com.xx.MyApp</string>
        <key>CFBundleVersion</key>
        <string>1.0</string>
        <key>UILaunchStoryboardName</key>
        <string>LaunchScreen</string>
        <key>CFBundleName</key>
        <string>myApp.Mobile</string>
        <key>UIMainStoryboardFile</key>
        <string>LaunchScreen</string>
        <key>UIRequiresFullScreen</key>
        <true/>
        <key>XSAppIconAssets</key>
        <string>Assets.xcassets/AppIcons.appiconset</string>
        <key>XSLaunchImageAssets</key>
        <string>Assets.xcassets/LaunchImages.launchimage</string>
    </dict>
    

    Alternatively I can use Media (Assets -> Media) on both MS and {MacOS Rebuild}. There does not seem to be a difference and I can switch between the two (Assets/Media) without issue; the build/app checkers say 'good' -- makes sense, JSON pointing to files. Ultimately either or......no icons and publications are denied. Possibly due to no icons :wink:

        <key>XSAppIconAssets</key>
        <string>Media.xcassets/AppIcons.appiconset</string>
        <key>XSLaunchImageAssets</key>
        <string>Media.xcassets/LaunchImages.launchimage</string>
    

    Lastly and most interestingly the App gets a "pass" in Application Loader and the Xcode verification's.

Sign In or Register to comment.