iosmaui

.ipa File Not Including App Icon or Applying CFBundleIconName in .NET MAUI App


I'm working on a .NET MAUI app using Visual Studio on Windows, and I'm trying to upload the .ipa file to the App Store using Transporter on a Mac in the cloud. However, I'm running into two issues:

  1. The app icon is not being included in the build.
  2. The CFBundleIconName from the Info.plist is not being applied.

My Setup

What I’ve Tried

Environment Details

Issues

  1. When I upload the .ipa file, the app icon doesn’t appear in the App Store.
  2. The app name doesn’t reflect the value of CFBundleIconName.

Question

What could I be missing in my configuration that prevents the app icon from being included and the CFBundleIconName from being applied? Any suggestions or troubleshooting steps would be appreciated.

the errors i get are below enter image description here


Solution

  • I would suggest to follow the official documentation provided regarding setting your app icon for iOS

    In .NET MAUI, by default the info.plist contains <key>XSAppIconAssets</key> and it' value as Assets.xcassets/appicon.appiconset.

    So, Whatever you define as MauiIcon in your .NET MAUI app will be used to generate asset catalog icon set for both iOS and macOS. (So app icon set is generated automatically by MAUI).

    There is no need for extra configuration like setting CFBundleIconName.

    In you case, you defined MauiIcon like below

     <MauiIcon Include="Resources\AppIcon\appicon.svg" />
    

    Few things to note:

    1. There is no Color property defined. The documentation clearly mentioned to define a Color to avoid an error during App Store Connect verification.
    2. Remove the CFBundleIconName key defined in info.plist and make sure it contains XSAppIconAssets and it's value as Assets.xcassets/appicon.appiconset

    Note: Make sure below mentioned point in documentation

    The Info.plist file contains a <key>XSAppIconAssets</key> entry, with a corresponding <string> node defined after it. The value of this <string> node follows this format: Assets.xcassets/{name}.appiconset The value for {name} is derived from the .NET MAUI project file's <MauiIcon> item, specifically the file name defined by the Include attribute, without its path or extension.