Yet another "'CFBundleIconName' is missing" question
I know there are already plenty of questions in SO with almost identical title, and many answers suggesting different solutions.
The problem behind this, it seems to me, is the use of a very generic message from Apple to cover a very wide range of issues.
I have an iOS App (written using Xamarin.Forms), which is already published in the AppStore. Recently, nevertheless, i tried to upload an update and i got an e-mail from Apple saying
Dear Developer,
We identified one or more issues with a recent delivery for your app, "Kuhnle Mobile 2021" 2021.1.35242 (35242). Please correct the following issues, then upload again.
ITMS-90713: Missing Info.plist value - A value for the Info.plist key 'CFBundleIconName' is missing in the bundle 'com.kuhnle.mobile2021'. 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.
Best regards,
The App Store Team
This is the first time i get this message from Apple, but i soon understood i was not the first to do so: Here in SO and in other forums i found many solutions for diverse scenarios, but sadly non of the answers i found could fix my issue: i keep getting that same message from Apple again and again.
Next i will describe my system and what i have already tried.
System Description
Configuration details
I am building iOS app using
- Xamarin.Forms 5.0.0.2012
- As IDE i am using Visual Studio 19 16.10 on Windows 10.
- To build iOS app i use remote MacMini with macOs Big Sur 11.4
- Xcode 12.5
Project details
As mentioned above i already tried/ruled out all options/solutions i found:
- My project already uses Asset Catalogs (since previous uploads to AppStore!), with the 1024 pixels AppStore icon included.
- My
Info.plistalready hasXSAppIconAssetsandCFBundleIconName, and looks like:
<?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>UIDeviceFamily</key>
<array>
<integer>1</integer>
<integer>2</integer>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>MinimumOSVersion</key>
<string>13.5</string>
<key>CFBundleDisplayName</key>
<string>Kuhnle Mobile 2022</string>
<key>CFBundleDevelopmentRegion</key>
<string>de</string>
<key>CFBundleLocalizations</key>
<array>
<string>de</string>
<string>en</string>
<string>es</string>
</array>
<key>CFBundleIdentifier</key>
<string>com.my.AppName</string>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIFileSharingEnabled</key>
<true/>
<key>LSSupportsOpeningDocumentsInPlace</key>
<true/>
<key>CFBundleShortVersionString</key>
<string>2022.1.34969</string>
<key>CFBundleVersion</key>
<string>34969</string>
<key>XSAppIconAssets</key>
<string>Assets.xcassets/AppIcon.appiconset</string>
<key>CFBundleIconName</key>
<string>AppIcon</string>
<key>UIUserInterfaceStyle</key>
<string>Light</string>
<key>NSCameraUsageDescription</key>
<string>By granting access to the camera you will be able to make photos that you consider specifically relevant for the current document and have them stored directly in its associated folder.</string>
</dict>
</plist>
- My ~ios.csproj file indeed includes the
ImageAssets, and looks like this
<ItemGroup>
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Contents.json">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-60@2x.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-60@2x1.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-60@3x.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-76.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-761.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-76@2x.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-83.5@2x.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-AppStore1024.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-Notification20.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-Notification20@3x.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-Settings29.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-Small-40.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-Small-401.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-Small-40@2x.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-Small-40@2x1.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-Spotlight29@2x.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-Spotlight29@2x1.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-Spotlight29@3x.png">
<Visible>false</Visible>
</ImageAsset>
</ItemGroup>
Problem Description
All this being said: i can Build, Archive and Upload the project using VS, nevertheless, after it has been uploaded i get an e-mail with the message at the beginning of this post. Furthermore, when i go and inspect the ipa file in my macMini, i can not see any assets included in the payload folder and no Assets.car file is included neither: trying to upload this ipa results in an e-mail from Apple with the same message.
I would really appreciate any idea to solve this problem, since i am already dealing with it for a couple of days!