9

使用Application Loader工具提交我的应用程序时,出现以下错误:

ERROR ITMS-90236: "Missing required icons. The application bundle does not contain an icon in ICNS format, containing both a 512x512 and a 512x512@2x image. For further assistance, see the Apple Human Interface Guidelines."

我的图标(由Info.plist文件引用)包含这两个文件,因为它是使用以下命令创建的:

iconutil -c icns icon.iconset

其中icon.iconset文件夹包含以下项目:

-rw-r--r--   1 martin  staff    11K 18 mai 11:24 icon_128x128.png
-rw-r--r--   1 martin  staff    23K 18 mai 11:24 icon_128x128@2x.png
-rw-r--r--   1 martin  staff   3,3K 18 mai 11:24 icon_16x16.png
-rw-r--r--   1 martin  staff   4,2K 18 mai 11:24 icon_16x16@2x.png
-rw-r--r--   1 martin  staff    23K 18 mai 11:24 icon_256x256.png
-rw-r--r--   1 martin  staff    48K 18 mai 11:24 icon_256x256@2x.png
-rw-r--r--   1 martin  staff   4,2K 18 mai 11:24 icon_32x32.png
-rw-r--r--   1 martin  staff   6,6K 18 mai 11:24 icon_32x32@2x.png
-rw-r--r--   1 martin  staff    48K 18 mai 11:24 icon_512x512.png
-rw-r--r--   1 martin  staff    92K 18 mai 11:24 icon_512x512@2x.png

我的图标有什么问题?

编辑

我的Info.plist文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CFBundleExecutable</key>
    <string>Joker</string>
    <key>CFBundleGetInfoString</key>
    <string>Created by Qt/QMake</string>
    <key>CFBundleIconFile</key>
    <string>Joker.icns</string>
    <key>CFBundleIdentifier</key>
    <string>com.phonations.joker</string>
    <key>CFBundlePackageType</key>
    <string>APPL</string>
    <key>CFBundleShortVersionString</key>
    <string>15.05.25</string>
    <key>CFBundleSignature</key>
    <string>???</string>
    <key>CFBundleVersion</key>
    <string>15.05.25</string>
    <key>LSApplicationCategoryType</key>
    <string>public.app-category.video</string>
    <key>NOTE</key>
    <string>This file was generated by Qt/QMake.</string>
    <key>NSHighResolutionCapable</key>
    <string>True</string>
    <key>NSPrincipalClass</key>
    <string>NSApplication</string>
</dict>
</plist>
4

4 回答 4

2

我遇到了同样的问题,并通过将我的 icns 文件转换为 inconset 文件夹,然后使用icontool. 然后应用程序加载器不再抱怨了。

只需尝试更新您的系统(命令行工具)并使用以下命令重新icon.icns生成icon_new.icns

ICON_OLD=icon.icns
ICON_NEW=icon_new.icns
icontool -c iconset -o "${ICON_OLD%.icns}.iconset" "$ICON_OLD"
icontool -c icns -o "$ICON_NEW" "${ICON_OLD%.icns}.iconset"

最初我使用在线转换器https://iconverticons.com/online/从 png 图像创建了 icns 文件,这对我来说总是很好。当我将icns转换为iconset时,图标文件看起来很好,但是将其转换回icns后,icns文件大小是在线工具生成的icns文件的2倍。奇怪的是,当我再次将较大的 icns 转换回图标集时,两个图标集目录都包含相同的文件列表。

这可能是由于图标工具和应用商店要求的一些更新尚未应用于在线转换器的系统造成的。

于 2015-06-19T11:10:23.587 回答
0

即使您的主应用程序图标正确,您也会收到此错误。在我的例子中,有文档图标(也从 Info.plist 中引用)没有所需的 512x512@2x 分辨率。

有趣的是,如果文档图标被简单地删除/丢失,验证过程不会抱怨。

此错误消息将是正确的:“应用程序包确实包含 ICNS 格式的图标,不包含 512x512 和 512x512@2x 图像。”

于 2015-05-25T09:20:04.967 回答
0

修复图标问题的步骤:-

1.首先创建一个文件夹并将其重命名为“icon.iconset”。

2.将大小为 1024x1024 的图像复制到该文件夹​​中 3.右键单击该图像以将 png 转换为 icns 格式。如果没有该选项,只需下载 Automator App。4.你会得到icon.icns。将此 icns 图像放在资源文件夹中(替换它) 5. 在 package.json 中添加路径 注意:图像必须是方形格式并且具有透明背景(1024x1024)

于 2020-07-06T14:14:02.770 回答
0

当我尝试将一个非常旧的应用程序提交到应用程序商店时,它发生了。当我在 中选择应用程序目标General设置时Project-Settings,该App Icons部分显示了一个“转换为资产”按钮。完成此操作后,将使用资产目录中的图标,它比旧的 icns 文件效果更好。

于 2021-05-14T10:03:58.107 回答