Missing Info.plist value (CFBundleIconName) after Xamarin update. How can I fix it?

Vitali picture Vitali · Oct 8, 2017 · Viewed 7.2k times · Source

After updating my Xamarin, xCode on my mac and trying to upload to App Store, I get this kind of e-mail from Apple:

Missing Info.plist value - A value for the Info.plist key 'CFBundleIconName' is missing in the bundle 'com.xxxx.yyyy'. 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. Once these issues have been corrected, you can then redeliver the corrected binary.

As I understand I need to convert my icons to Asset Catalog, but I have no idea how can i do it in Visual Studio 2015(Windows)? This is the part of my info.plist:

<key>CFBundleDisplayName</key>
<string>Name - Online</string>
<key>CFBundleIdentifier</key>
<string>com.xxxxx.xxxxxx</string>
<key>CFBundleVersion</key>
<string>3.4</string>
<key>CFBundleIconFiles</key>
<array>
    <string>[email protected]</string>
    <string>Icon-72.png</string>
    <string>[email protected]</string>
    <string>Icon.png</string>
    <string>[email protected]</string>
    <string>Icon-76.png</string>
    <string>[email protected]</string>
    <string>Default.png</string>
    <string>[email protected]</string>
    <string>[email protected]</string>
    <string>Default-Landscape.png</string>
    <string>[email protected]</string>
    <string>Default-Portrait.png</string>
    <string>[email protected]</string>
    <string>[email protected]</string>
    <string>Icon-Small-50.png</string>
    <string>Icon-Small-40.png</string>
    <string>[email protected]</string>
    <string>Icon-Small.png</string>
</array>
<key>CFBundleShortVersionString</key>
<string>4.4</string>

Answer

Michal B. picture Michal B. · Oct 31, 2017

I had exactly the same issue. Bascially this helped me resolve the problem: https://github.com/MobiVM/robovm/issues/210

  1. Right click info.plist, choose "Open with ..." and pick "iOS Manifest Editor".
  2. Go to Visual Assets tab and choose "Use Asset Catalog"
  3. After saving, go to your project in solution explorer and you should see Asset Catalogs folder. Open it and double click on Media.
  4. Go to AppIcons and provide all necessary icons for the platforms you are building for. Make sure that you also include the App Store icon which is 1024x1024 pixels. If you miss any that are required, you will be alerted when uploading your .ipa file to iTunes Connect.

  5. Edit info.plist again, but now open it in XML editor. Add the following:

    <key>CFBundleIconName</key>

    <string>AppIcons</string>

  6. Comment out the CFBundleIconFiles array. In my case it was:

    <!--key>CFBundleIconFiles</key> <array> <string>[email protected]</string> <string>Icon.png</string> <string>[email protected]</string> <string>[email protected]</string> <string>Icon-Small.png</string> <string>[email protected]</string> </array-->

After that you should be able to upload to the Apple store.