我提交了应用更新,但我收到了一封电子邮件,告诉我发生了此错误:
缺少推荐的图标文件 - 该捆绑包不包含 .png 格式的 iPhone / iPod Touch 的应用程序图标,该图标正好为“120x120”像素
我该如何解决这个问题?
Here 是 Apple 当前的图标要求。
我看不到 120x120 出现在任何地方?这是 iOS 7 特有的吗?我应该包含一个名为 Icon-120.png
的图标吗?
更新:我在资源文件夹中添加了三个图标(Icon-120.png : 120x120、Icon-76.png: 76x76 & Icon-152.png: 152x152),但它没有将它们添加到 info.plist
。收到了相同的警告电子邮件。我决定不做任何改变,等着看接下来会发生什么。
令我惊讶的是,该应用程序在 20 小时后进入了审核阶段,并在第二天就在市场上发布了!有点让我想知道有多少 Apple/Windows 应用程序评论人潜伏在这里。
如果您在从 Xcode9
提交应用程序时收到图标 error
,或者如果您在模拟器和设备上看不到应用程序图标,只需将您的 cocoapods
更新到项目中的最新版本。该问题是 cocoapods
的 Xcode9
中的一个错误。
可以看到 here 的 iPhoneX
有一个新指南。
Here 的有用网站,可为 iOS、Mac 应用和 Android 应用创建图标。
您只需拖放 1024 x 1024 图标,网站就会创建所有图标大小并将其发送到您的电子邮件。然后按照以下方法为 iOS 应用设置图标。
在 Apple 推出 iOS 8、iPhone 6 和 6 Plus 之后,应用程序图标大小和启动图像大小发生了变化。请访问我的帖子了解新尺寸:
Image resolution for new iPhone 6 and 6+, @3x support added?
是的,您需要添加一个 120x120 的高分辨率图标。现在,如果您只想定位 iOS 7,您只需要 76 x 76、120 x 120 和 152 x 152 的图标大小。如果您还想以 iOS 6 为目标,则需要 57 x 57, 72 x 72, 76 x 76, 114 x 114, 120 x 120, 144 x 144 and 152 x 152
个图标大小。如果您不希望操作系统插入它们,则不计算 Spotlight 和设置图标!
https://i.stack.imgur.com/y6iol.png
https://i.stack.imgur.com/UR2Ol.png
根据博文 New Metrics for iOS 7 App Icons。
更新:
根据 Apple 指南 App-icon 或 Icon and Image Sizes:
图标尺寸(iOS 7 及更高版本)
https://i.stack.imgur.com/AdwRn.png
图标尺寸(iOS 6.1 及更早版本)
https://i.stack.imgur.com/RARpV.png
为不同的设备创建不同大小的应用图标。如果您正在创建一个通用应用程序,您需要提供所有四种尺寸的应用程序图标。
对于 iPhone 和 iPod touch,这两种尺寸都是必需的:
120 x 120 像素
60 x 60 像素(标准分辨率)
对于 iPad,这两种尺寸都是必需的:
152×152
76 x 76 像素(标准分辨率)
现在将其设置为项目:
创建一个具有 120 像素的高分辨率和 60 像素的新图标,如上所述,Apple 文档提到并设置名称。例如,icon-120.png 和 icon-152.png。
将此图标放入您的项目资源文件夹并将此图标添加到项目中:
https://i.stack.imgur.com/fmpUe.png
在此之后,单击 ProjectName-Info.plist 并找到图标文件行。如果找不到它,请通过单击 (+) 符号添加它并选择图标文件,然后设置所有图标图像,如下所示。
https://i.stack.imgur.com/zXgRk.png
https://i.stack.imgur.com/cfqHA.png
现在存档并分发您的项目,就像我们将应用程序二进制文件提交到 App Store 中一样。我希望现在您可以提交您的应用程序而不会出现任何图标问题。
笔记:
小心提供您需要的所有图标。否则您的应用将无法通过 Apple 验证。如果您收到此类电子邮件:
Invalid Image - For iOS applications, icons included in the binary submission must be in the PNG format.
- If your application supports the iPhone device family, you must include square icons of the following dimensions: 57x57 pixels and 120x120 pixels.
- If your application supports the iPad device family, you must include square icons of the following dimensions: 72x72 pixels, 76x76 pixels and 152x152 pixels
Apple 现在也接受在 iOS 7 上运行的应用程序,因此无论部署目标是 6.1 或更早版本,但您还需要提供我上面提到的 iOS 7 图标大小(这是商店所期望的)。
Xcode 5 应用程序图标管理
如果您使用的是 xCode5,首先要更新的是图标。 Xcode 5 引入了 Asset Catalogs 来简单地管理图像的多个副本(例如多个分辨率)。我们将创建一个来管理游戏的图标以及启动图像。
https://i.stack.imgur.com/NDPcv.png
现在,单击使用资产目录按钮。确认迁移时,还会询问您是否要迁移启动图像(这是 iOS 对启动应用程序时出现的初始屏幕的谈话) - 您需要确保也检查这一点。
https://i.stack.imgur.com/1yn42.png
请查看更多信息Apple doc of Asset Catalogs
接受的答案很好,但这是简短的答案:
<key>CFBundleIconFiles</key>
<array>
<string>icon@2x.png</string>
<string>icon.png</string>
<string>Icon-Small.png</string>
<string>Icon-Small@2x.png</string>
<string>Default.png</string>
<string>Default@2x.png</string>
<string>icon-72.png</string>
<string>icon-72@2x.png</string>
<string>Icon-Small-50.png</string>
<string>Icon-Small-50@2x.png</string>
<string>Default-Landscape.png</string>
<string>Default-Landscape@2x.png</string>
<string>Default-Portrait.png</string>
<string>Default-Portrait@2x.png</string>
下面的新图标在这里
<string>icon-40.png</string>
<string>icon-40@2x.png</string>
<string>icon-60.png</string>
<string>icon-60@2x.png</string>
<string>icon-76.png</string>
<string>icon-76@2x.png</string>
</array>
通过搜索“该捆绑包不包含 .png 格式的 iPhone / iPod Touch 的应用程序图标,该图标恰好为 '120x120' 像素”,找到了此 here。在谷歌。
您不必以这种复杂的方式进行操作。如果您使用的是 XCode 5(我相信我们中的大多数人都是),那么创建您的图标可以随意调用它们,即
myIcon-58.png
myIcon-57.png
myIcon-72.png
myIcon-80.png
myIcon-100.png ....
并将它们拖放到 AppIcon 下的正确框上。请参阅屏幕截图。您不必手动编辑 plist 文件。
https://i.stack.imgur.com/i24fp.png
如果您有大小为 1024 X 1024 的应用程序图标,一种简单的方法。只需将其上传到以下站点,它将生成图标文件夹添加 AppIcon.appiconset
到您的应用程序中。
步骤1:
在以下站点上传您现有的 1024 X 1024 图标:
第2步 :
它会给你发邮件。
从电子邮件下载 icon.zip。
第 3 步:将 AppIcon.appiconset
拖放到您的应用程序中。它将包含所有需要图标。
它可能对大家有所帮助。
编辑:我不是这个网站的所有者/发起人。这将节省我们的时间。
我想添加另一个陷阱。即使您做对了所有事情,如果您在构建过程中支持多个目标,您也可能会被此错误困住。
图像资产目录是目标的一部分,即使您在 Xcode5 中选择它用于您的目标,也并不意味着它会自动添加。
结果,构建就像一个魅力,但资产目录没有添加到 IPA 并且 AppStore 验证失败并出现错误,即图标丢失。
要修复或检查资产是否属于目标,请在 Xcode 项目中选择 assets-entry 并确保在检查器中检查了您的目标。
就我而言,它与 CocoaPods 相关联。我花了很多时间来找出原因,因为一切似乎都是正确的。我在这里找到它https://github.com/CocoaPods/CocoaPods/issues/7003。我刚刚在构建阶段将“[CP] Copy Pods Resources”和“[CP] Embed Pods Frameworks”移到“Copy Bundle Resources”上方,错误消失了。
我在使用 Xcode 4.6 提交应用程序时遇到了同样的问题。它无法识别尺寸为 120x120、58x58、29x29 等的图标。因此,当我尝试将这些图标添加到 info.plist 并提交应用程序以供审核时,Xcode 4.6 不允许我这样做。在提交没有上述图标的应用程序时,我收到一封邮件说 -
“您的交付成功,但您可能希望在下次交付时更正以下问题:缺少推荐的图标文件 - 该捆绑包不包含 .png 格式的 iPhone / iPod Touch 的应用程序图标,该图标恰好为 '120x120' 像素。 "
因为这是推荐的,但没有必要,我还是提交了该应用程序。我将上面推荐的图标添加到包中,但没有在 Info.plist 中指定它们。我又收到了同样的邮件。这次我忽略了它,令我惊讶的是,该应用程序被接受了。
我希望我的应用程序在 iOS 5 及更高版本上运行,因此,我必须使用 Xcode 4.6 而不是最新的 Xcode 5,它仅允许仅适用于 iOS7 及更高版本的应用程序。
更新:
注意:“从 2014 年 2 月 1 日开始,提交到 App Store 的新应用程序和应用程序更新必须使用 Xcode 5 和 iOS 7 SDK 构建”。 https://developer.apple.com/news/?id=12172013a#top
因此,这种情况在未来将无效。
这应该称为警告,而不是错误。至少电子邮件说图标文件是“推荐的”而不是“必需的”。如果您以 iOS 6 为目标,您可以放心地忽略此警告。当然,对于 iOS 7,您将需要新尺寸并注意图标角的新圆角
对于任何 Xamarin.iOS 或 Xamarin.Forms 开发人员,您还需要检查 .csproj 文件(用于 iOS 项目)并确保它包含对 PNG 的引用,而不仅仅是资产目录,即
<ItemGroup>
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\Contents.json" />
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\Icon-40.png" />
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\Icon-40%402x.png" />
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\Icon-40%403x.png" />
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\Icon-60%402x.png" />
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\Icon-60%403x.png" />
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\Icon-72.png" />
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\Icon-72%402x.png" />
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\Icon-76.png" />
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\Icon-76%402x.png" />
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\Icon-83.5%402x.png" />
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\Icon-Small-50.png" />
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\Icon-Small-50%402x.png" />
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\Icon-Small.png" />
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\Icon-Small%402x.png" />
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\Icon-Small%403x.png" />
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\Icon.png" />
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\Icon%402x.png" />
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\NotificationIcon%402x.png" />
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\NotificationIcon%403x.png" />
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\NotificationIcon~ipad.png" />
<ImageAsset Include="Resources\Images.xcassets\AppIcon.appiconset\NotificationIcon~ipad%402x.png" />
</ItemGroup>
在我的例子中,我只是从 info.plist
文件中删除了 CFBundleIcons~ipad
键,它阻止了 iPad 使用 AppIcon
集。
我项目的目标是 iPhone 和 IOS 8。XCode 版本是 6.3。设置 CFBundleIcons~ipad
可能来自早期版本的 XCode。
只是有同样的问题。使用 Xcode 8.3.3 并想在 Assests 目录中使用 AppIcon。尝试了各种 Stack Overflow 答案,但均未成功。
终于从 Ken/Apple 论坛了解了一个深度清洁步骤:
删除所有图标文件,无论是从资源(删除 - 垃圾箱)还是 appicon 文件(选择 - 删除所选项目);甚至删除了资产文件夹
深度清理(使用产品菜单,按下选项键,然后选择“清理构建文件夹”)
添加了一个新的资产目录并将其命名为“资产”,在资产文件夹中右键单击并添加了新的应用程序图标集 - 将检查器中的那个更改为 iOS >=7 三倍
检查了我在 Xcode 之外的所有图标文件(都已经是正确分辨率的 png 文件,但有些仍然从 photoshop 元素附加颜色配置文件,或者确实有索引颜色而不是 RGB 配置文件。所以我确保我只保存一个没有颜色的 png 文件配置文件和来自背景层) - 不确定这是必要的
从产品菜单归档构建
从 Window - Organizer 验证并上传构建
就我而言,我的 App 图标文件不是驼峰式表示法。例如:
我的文件名:Appicon57x57
应该是:AppIcon57x57
(注意这里的大写“i”)
所以,就我而言,解决方案是这样的:
从资产目录中删除所有图标文件。如上所述重命名文件。将重命名的文件再次添加回资产目录。
这应该可以解决问题。
添加另一个“相同的症状,但不同的解决方案”响应,以防万一有人遇到相同的问题,但没有一个常见的解决方案有效。
就我而言,我有一个应用程序在资产目录指令和图标命名约定的灵活性之前开始开发,但在转换后首先提交到商店。为了解决这个问题,我必须:
从 Info.plist 中删除所有“图标相关”行 切换回 AppIcons 和 LaunchImages 的“不使用资产目录” 切换回 AppIcons 和 LaunchImages 的资产目录 将图像文件重新拖放到适当的位置。
我手动创建了我的 AppIcon 目录并在其中包含所有正确的图标,但我的项目没有将它用作图标目录。在项目的 General 选项卡上(您可以在其中设置项目名称和版本号),有一个 App Icons Source 条目,但无法选择我创建的目录。我必须单击按钮来创建一个新目录,然后删除该新目录,然后按钮变为一个菜单,我可以在其中选择现有目录。
为了为您的 Xcode 项目生成图标,我建议您考虑使用 SquareIcon。我相信它使为 Apple 平台创建应用程序图标集变得非常容易。只是让你知道,这是我自己的应用程序。
您可以放入图标的通用图像文件(如 PNG
或 JPG
)并生成 .appiconset
文件,您可以将其放入 Xcode 项目的资产目录中。这消除了手动调整一堆图像大小的要求。
当我使用应用程序图标图像时出现此错误,该图像使用 MAC 上的预览应用程序从 180x180 大小的图标调整为 120x120。当我从项目中删除 120x120 图标时,错误消失了。调整图标大小可能会与 Apple 要求的格式混淆。
不定期副业成功案例分享