How do I convert my icons to use an asset catalog

I’m trying to get my rather old game (well 2014 doesn’t seem like that long ago, but in iOS world things change) and get it back on the App Store. I basically started a new MonoGame iOS project and copied the files across. So I am using the latest templated from MonoGame 3.8.

All was good, compiling and working fine on the simulator and on an actual device, then I submitted to the App Store and got although it seemed to work I got an email from Apple saying:

We identified one or more issues with a recent delivery for your app, “Tetro Tower” 1.50 (1.5.0). 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 ‘garsonix.tetrotower’. 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.

So I need to make an asset catalog. I’ve tried several different ways of making one of these, but even when it looks like everything has worked the icon files do not appear in the simulator. I’m using Visual Studio for Mac 2022 , but happy to use another program if that works better.

What do I do?

I’ve finally figured this out and thought I’d share in case others are having similar issues.

  1. In visual studio double click Info.plist
  2. Select the Application tab from the dropdown at the top right
  3. Under the theming section click the button saying ‘Convert to asset catalog’.
    This will:
  • Take your existing icon files, move them into a folder called Assets.xcassets/Appicon.appiconset and also create a file in that folder called Contents.json
  • Modify your project file to include Contents.json and all the icon files as ImageAssets that look like this:
    <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Contents.json" />
    <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Logo40x40.png" />
  1. To see the changes, click save and then close and open Info.plist (hopefully this step won’t be required in later version of Visual Studio for Mac)
  2. I found the best way of adding new images was copying the images directly into the same folder and then manually modifying the project file and Content.json in Visual Studio Code (or text editor of your choice).

There is also a section on Images and Icons in the Xamarin Forms docs that was relevant, but things didn’t work exactly as that said they would.

2 Likes