ITMS-90892:Apple App Store 中缺少推荐的图标错误
Posted
技术标签:
【中文标题】ITMS-90892:Apple App Store 中缺少推荐的图标错误【英文标题】:ITMS-90892: Missing recommended icon error from Apple App Store 【发布时间】:2021-07-19 22:57:52 【问题描述】:我最近将我的应用提交到 App Store 时收到此错误。
ITMS-90892:缺少推荐的图标 - 该捆绑包不包含适用于 iPad 的替代应用程序图标,该图标正好为“167x167”像素,支持 iPad Pro 的 ios 版本为 .png 格式。为了支持较旧的操作系统,在资产目录之外的捆绑包中可能需要该图标。确保 Info.plist 文件包含引用该文件的适当条目。见
它与应用程序结构中的备用图标和我认为的名称有关,但与资产目录无关。在我的应用中,用户可以选择主屏幕的图标。
我有 4 个图标可供选择,每个图标有 4 个尺寸,例如- AA_appIcon@2x, AA_appIcon@2x~iPad, AA_appIcon@3x, AA_appIcon83.5@2x~iPad 以前可以正常工作,但现在我收到这个错误,名称为 AA_appIcon83.5@2x~iPad。 它的尺寸是正确的 167x167,所以不确定是什么问题。 这只是在最近几天发生的,在我一个月前的上一次提交中没有发生。
命名格式必须是最近更改过的。 有没有人能够发现错误?
这是 info.plist
<dict>
<key>CFBundleAlternateIcons</key>
<dict>
<key>AA</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>AA_appIcon</string>
</array>
<key>UIPrerenderedIcon</key>
<string>No</string>
</dict>
<key>Cake</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>Cake_appIcon</string>
</array>
<key>UIPrerenderedIcon</key>
<string>No</string>
</dict>
<key>NA</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>NA_appIcon</string>
</array>
<key>UIPrerenderedIcon</key>
<string>No</string>
</dict>
<key>OA</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>OA_appIcon</string>
</array>
<key>UIPrerenderedIcon</key>
<string>No</string>
</dict>
</dict>
<key>CFBundlePrimaryIcon</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>Cake_appIcon</string>
</array>
<key>UIPrerenderedIcon</key>
<false/>
</dict>
</dict>
<dict>
<key>CFBundleAlternateIcons</key>
<dict>
<key>AA</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>AA_appIcon</string>
</array>
<key>UIPrerenderedIcon</key>
<string>No</string>
</dict>
<key>Cake</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>Cake_appIcon</string>
</array>
<key>UIPrerenderedIcon</key>
<string>No</string>
</dict>
<key>NA</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>NA_appIcon</string>
</array>
<key>UIPrerenderedIcon</key>
<string>No</string>
</dict>
<key>OA</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>OA_appIcon</string>
</array>
<key>UIPrerenderedIcon</key>
<string>No</string>
</dict>
</dict>
<key>CFBundlePrimaryIcon</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>Cake_appIcon</string>
</array>
<key>UIPrerenderedIcon</key>
<false/>
</dict>
</dict>
【问题讨论】:
【参考方案1】:如果您遇到错误 ITMS-90890
或 ITMS-90892
等,这就是您在 2021 年末所需要的。
File Name | size |
---|---|
IconName@2x.png | 120x120 |
IconName@3x.png | 180x180 |
IconName@2x~ipad.png | 152x152 |
IconName@3x~ipad.png | 167x167 |
*注意~ipad
没有大写!
【讨论】:
【参考方案2】:没关系
我刚刚将图标从 AA_appIcon83.5@2x~iPad.png
重命名为 AA_appIcon@3x~ipad.png
,错误消失了,图标选择器仍然可以在应用内工作。
【讨论】:
【参考方案3】:根据@Warpling 的回答,以下是正确设置备用图标所需的一切:
1。创建图标文件
首先,您必须在主项目(info.plist
文件所在的位置)内创建一个名为 AlternateAppIcons
的文件夹。
现在,在您创建的文件夹中,添加具有表格中描述的名称和大小的文件:
File Name | Size |
---|---|
IconName@2x.png | 120x120 |
IconName@3x.png | 180x180 |
IconName@2x~ipad.png | 152x152 |
IconName@3x~ipad.png | 167x167 |
IconName
时,请确保在info.plist
中也进行更改。
2。配置info.plist
您必须将此添加到info.plist
:
<key>CFBundleIcons</key>
<dict>
<key>CFBundleAlternateIcons</key>
<dict>
<key>IconName</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>IconName</string>
</array>
</dict>
</dict>
<key>CFBundlePrimaryIcon</key>
<dict>
<key>CFBundleIconFiles</key>
<array/>
<key>UIPrerenderedIcon</key>
<false/>
</dict>
</dict>
<key>CFBundleIcons~ipad</key>
<dict>
<key>CFBundleAlternateIcons</key>
<dict>
<key>IconName</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>IconName</string>
</array>
</dict>
</dict>
<key>CFBundlePrimaryIcon</key>
<dict>
<key>CFBundleIconFiles</key>
<array/>
<key>UIPrerenderedIcon</key>
<false/>
</dict>
</dict>
3。以编程方式更改图标
您所要做的就是验证该应用是否支持备用图标并进行更改:
guard UIApplication.shared.supportsAlternateIcons else return
UIApplication.shared.setAlternateIconName("IconName")
*您可能想要创建一些 enum
助手,例如 this。
【讨论】:
以上是关于ITMS-90892:Apple App Store 中缺少推荐的图标错误的主要内容,如果未能解决你的问题,请参考以下文章
Apple 在 S3 上的 apple-app-site-association 文件与 CloudFront 分发
Apple-app-site-association 文件未链接到应用程序
Apple 拒绝 App 的元数据:“Cant locate In App Purchase in my App”。? [关闭]