首页 > 解决方案 > 应用程序图标不再适用于 iOS (Xamarin)

问题描述

两年多来,我一直在向应用商店提交我的应用程序更新,但在我上次提交时,Apple 突然拒绝了该提交。

ITMS-90713:缺少 Info.plist 值 - 捆绑“com.gerrie.mobile.ios”中缺少 Info.plist 键“CFBundleIconName”的值。使用 iOS 11 或更高版本 SDK 构建的应用程序必须在资产目录中提供应用程序图标,并且还必须为此 Info.plist 键提供值。有关详细信息,请参阅http://help.apple.com/xcode/mac/current/#/dev10510b1f7

奇怪的是,我的 Info.plist 文件清楚地指定了这个值。

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

我有一个名为“Media”的资产目录,并且创建了一个 AppIcon 资产。我在设计器中为每个图像尺寸提供了一个图像。

我的 Info.plist 还包含对此资产的引用。

<key>XSAppIconAssets</key>
<string>Media.xcassets/AppIcon.appiconset</string>

我的 csproj 包含目录中每个文件的 ImageAsset 条目

<ImageAsset Include="Media.xcassets\AppIcon.appiconset\Contents.json">
    <Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcon.appiconset\Icon1024.png">
    <Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Media.xcassets\AppIcon.appiconset\Icon120.png">
    <Visible>false</Visible>
</ImageAsset>
... snip

每当我将我的应用程序部署到设备上进行调试时,图标不再显示,我只得到 iOS 默认图标。

我不确定我出了什么问题。大多数关于这个主题的帮助文章都说我需要使用资产目录,但我已经在使用了。

是否有我需要遵循的特定命名约定,或者我做错了什么?

标签: iosxamarinappstore-approvalasset-catalog

解决方案


前段时间我遇到了同样的问题。所以我将我的info.plist文件修改为

  <key>CFBundleIcons</key>
    <dict>
      <key>CFBundlePrimaryIcon</key>
      <dict>
        <key>CFBundleIconName</key>
        <string>Icon1024</string>
        <key>CFBundleIconFiles</key>
        <array>
          <string>Icon-60</string>
          <string>Icon-76</string>
        </array>
      </dict>
    </dict>
    <key>XSAppIconAssets</key>
    <string>Assets.xcassets/AppIcons.appiconset</string>

Apple 批准我的应用程序就足够了。希望这可以帮助。


推荐阅读