问题描述
我已经向应用商店提交应用更新两年多了,但在我最后一次提交时,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>
我有一个名为“媒体”的资产目录,并且我创建了一个 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 默认图标。
我不确定我哪里出错了。大多数关于此主题的帮助文章都说我需要使用资产目录,但我已经在使用。
是否有我需要遵循的特定命名约定,或者我做错了什么?
解决方法
我前段时间遇到了同样的问题。所以我将我的 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 批准我的应用程序就足够了。希望,这会有所帮助。