xcode ITMS-90892:Apple App Store中缺少推荐图标错误

mum43rcc  于 2023-05-01  发布在  其他
关注(0)|答案(3)|浏览(241)

我最近在向App Store提交应用程序时遇到此错误。
ITMS-90892:缺少推荐的图标-捆绑包不包含恰好为“167 x167”像素的iPad备用应用图标。支持iPad Pro的iOS版本的png格式。为了支持较旧的操作系统,在资产目录之外的捆绑包中可能需要该图标。确保信息。plist文件包括引用该文件的适当条目。看
它与应用程序结构中的替代图标和名称有关,但我认为与资产目录无关。在我的应用程序中,用户可以选择主屏幕的图标。
我有4个图标选择和4个大小为每个图标命名e。例如- AA_appIcon@2x、AA_appIcon@2x~iPad、AA_appIcon@3x、AA_appIcon83。5@2x~iPad和它曾经工作正常,但现在我得到这个错误的一个名称AA_appIcon83。5@2x~iPad。它是在正确的大小167 x167,所以不确定是什么问题。这只是发生在过去的几天里,没有发生在我一个月前提交。
命名格式一定是最近改变了什么的。有人能发现错误吗?
这是信息。塑料

<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>
0qx6xfy6

0qx6xfy61#

以下是截至2021年底,如果您收到错误ITMS-90890ITMS-90892等,您需要的内容。
| 文件名称|大小|
| --------------|--------------|
| IconName@2x。巴布亚新几内亚|120x120|
| IconName@3x。巴布亚新几内亚|180x180|
| IconName@2x~iPad。巴布亚新几内亚|152x152|
| IconName@3x~iPad.巴布亚新几内亚|167x167|

  • 注意~ipad上缺少大写!
ycggw6v2

ycggw6v22#

基于@Warpling的回答,这里是正确设置备用图标所需的一切:

1.创建图标文件

首先,您需要创建一个文件夹(e)。例如,AlternateAppIcons)(info.plist文件所在的位置)。
现在,在您创建的文件夹中,添加具有表中描述的名称和大小的文件:
| 文件名称|尺寸|
| --------------|--------------|
| IconName@2x。巴布亚新几内亚|120x120|
| IconName@3x。巴布亚新几内亚|180x180|
| | |
| IconName@2x~iPad。巴布亚新几内亚|152x152|
| IconName@3x~iPad.巴布亚新几内亚|167x167|

  • 我建议您使用Icon Set Creator生成所有大小,然后
  • 确保文件名在@后面完全相同(区分大小写)。
  • 当您更改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助手,像这样。

SwiftUI

由于SwiftUI drops the requirement of info.plist,您必须以不同的方式进行声明;在项目的Build Settings中搜索“App Icon”以编辑相关设置。
您可以看看Apple's new documentation,其中还包括sample project(看看它的README.md)。
您可能也会发现this article很有用。

zmeyuzjn

zmeyuzjn3#

算了
我只是将图标从AA_appIcon83.5@2x~iPad.png重命名为AA_appIcon@3x~ipad.png,错误消失了,图标选择器仍然可以在应用程序中工作。

相关问题