缺少建议的图标文件 - 该包不包含一个大小为“120x120”像素、格式为.png的iPhone / iPod Touch应用程序图标。

207

我提交了一个应用程序更新,但是我收到了一封电子邮件告诉我发生了以下错误:

缺少推荐的图标文件 - 捆绑包不包含正好为“120x120”像素的iPhone / iPod Touch应用程序图标,格式为.png

我该如何解决这个问题?

这里是苹果目前的图标要求。

我没有看到任何地方出现120x120?这是iOS 7特定的吗?我应该包含一个名为Icon-120.png之类的图标吗?

更新:我将三个图标添加到资源文件夹中(Icon-120.png:120x120,Icon-76.png:76x76和Icon-152.png:152x152),但它们没有被添加到info.plist。 我收到了同样的警告电子邮件。 我决定不改变任何东西,等待看看接下来会发生什么。

让我非常惊讶的是,应用程序在20小时后进入了审核阶段,并在第二天发布到市场上!这让我想知道有多少苹果/Windows应用程序审查人员在这里潜伏。


你是否拒绝了已上传的二进制文件,使用新的120x120图标进行修改并重新上传?我只是好奇苹果审核人员是否会忽略此错误或拒绝审核该应用程序。谢谢。 - Saurabh Hooda
2
我添加了一个图标:Icon-120.png,但忘记在plist.info中添加它。所以我仍然收到警告。我们很快就会发现接下来会发生什么。有关解决方案,请阅读下面答案的评论,我认为他们已经找到了解决方法。 - TelKitty
16个回答

314
如果您在使用 Xcode9 提交应用程序时遇到图标 error,或者在模拟器和设备上都无法看到应用程序图标,则只需在项目中将您的 cocoapods 更新到最新版本即可。这个问题是 Xcode9 中与 cocoapods 相关的一个错误。

这里有一个关于 iPhoneX 的新指南,可以在此处查看。


这里有一个非常有用的网站,可以为iOS、Mac应用和Android应用创建图标。

你只需要拖放你的1024 x 1024像素的图标,该网站将创建所有图标大小并发送到你的电子邮件。然后按照以下方法设置iOS应用程序的图标。

在苹果推出iOS 8、iPhone 6和6 Plus之后,应用程序图标大小和启动图像大小发生了变化。请访问我的帖子获取新的尺寸:

新iPhone 6和6+的图像分辨率,是否支持@3x?


是的,您需要添加一个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和152 x 152的图标大小。这还不包括Spotlight和Settings图标,如果您不希望操作系统插值它们的话!

Enter image description here

Enter image description here

根据博客文章iOS 7应用程序图标的新度量标准
更新:
根据苹果指南App-icon图标和图像尺寸iOS 7及以上版本的图标尺寸

Enter image description here

图标尺寸(适用于iOS 6.1及更早版本)

Enter image description here

为不同设备创建不同尺寸的应用程序图标。如果您正在创建通用应用程序,则需要提供所有四个尺寸的应用程序图标。
对于 iPhone 和 iPod touch,这两个尺寸都是必需的: - 120 x 120 像素 - 60 x 60 像素(标准分辨率)
对于 iPad,这两个尺寸也是必需的: - 152 x 152 像素 - 76 x 76 像素(标准分辨率)
现在将其设置到项目中:
  • 创建一个新的图标,高分辨率为120像素,常规大小为60像素,与上述苹果文档提到的相同,并设置名称。例如,icon-120.pngicon-152.png

  • 将这些图标放入项目资源文件夹中,并将此图标添加到项目中:

Enter image description here

在此之后,点击ProjectName-Info.plist,找到图标文件行。如果您找不到它,请通过单击(+)符号并选择图标文件来添加它,然后设置所有图标图像如下。

Enter image description here

Enter image description here

现在像我们提交应用程序二进制文件到App Store一样对项目进行归档和分发。希望现在您可以提交应用程序而不会出现任何图标问题。


注意:

请务必提供您所需的所有图标。否则,您的应用将无法通过苹果验证。如果您收到了这种类型的电子邮件:

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图标尺寸(商店期望的)。
如果您正在使用xCode5,则首先要更新的是图标。 Xcode 5引入Asset Catalogs来简化管理多个图像副本(例如多个分辨率的图像)。我们将创建一个来管理游戏图标以及启动图像。

enter image description here

现在,点击“使用资产目录”按钮。在确认迁移时,还会询问您是否希望迁移启动图像(这是iOS中启动应用程序时出现的闪屏画面)。请确保也勾选此选项。

enter image description here

请查看更多信息 Asset Catalogs 苹果文档


2
是的,可能你输入了错误的名称,请尝试使用icon-120.png并将其设置到plist文件中。 - Nitin Gohel
1
我已经在 plist 文件中添加了 120px 图标的名称,一切正常。谢谢。 - Miwi
2
1/ 将icon-120.png添加到Resources/icons中 2/ 将icon-120.png添加到项目中 3/ 在Resources/XXX-info.plist中添加条目:/Icon files/Primary Icon/Iconfiles/icon-120.png 4/ 归档和分发。 - Patrice
@AtWork 刚刚拿到了我的应用程序的批准,没有 iOS 7 图标,目标是 6.1 及更早版本。 - Daniel Tovesson
2
混乱不堪是轻描淡写了。 - Snowcrash
显示剩余13条评论

29

最佳答案非常好,但以下是简短答案:

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

通过在Google中搜索 "The bundle does not contain an app icon for iPhone / iPod Touch of exactly '120x120' pixels, in .png format.",我在这里找到了这里


3
来自苹果的最新消息:在info.plist中使用“Icon-60”、“Icon-76”和“Icon-72”。不要使用“@2x”和“.png”。不知怎么搞的,在幕后会自动解决。 - Cliff Harris
这段代码该怎么处理?上传什么样大小的图像?这是如何获得这么多点赞的... - user5306470

8
您不必采用这种复杂的方式。如果您使用的是XCode 5(我相信大多数人都在使用),那么创建您的图标并将其命名为任何您喜欢的名称,例如:
  • myIcon-58.png
  • myIcon-57.png
  • myIcon-72.png
  • myIcon-80.png
  • myIcon-100.png ....
然后将它们拖放到AppIcon下正确的框中。请参见屏幕截图。您无需手动编辑plist文件。

enter image description here enter image description here enter image description here


8

如果您有1024 X 1024大小的应用程序图标,可以通过以下网站上传它,它将生成图标文件夹,并将AppIcon.appiconset添加到您的应用程序中。

步骤1:

在下面的网站上上传您现有的1024 X 1024图标:

https://makeappicon.com/

步骤2:

它会向您发送邮件。

从电子邮件中下载icon.zip。

步骤3:将AppIcon.appiconset拖放到您的应用程序中。它将包含所有需要的图标。

这可能会帮助您。

编辑:我不是该网站的所有者/推广者。它可以节省我们的时间。


1
我发现这是最好的答案。同时也是最简单实现的! - Hashim Akhtar
@HashimAkhtar 谢谢您。 - Ketan P
我发现这很有用,只需删除旧的AppIcon.appiconset并解压电子邮件zip文件,然后拖放即可正常工作,谢谢。 - lukesUbuntu

5
我希望添加另一个陷阱。即使您做得一切正确,如果在构建过程中支持多个目标,则可能会因此错误而陷入困境。
图像资产目录是目标的一部分,即使您在Xcode5中选择了它来用于您的目标,也并不意味着它会自动添加。
结果,构建非常顺利,但是资产目录未添加到IPA中,AppStore验证失败,并出现错误,提示缺少图标。
要修复或检查资产是否属于目标,请在Xcode项目中选择资产条目,并确保已在检查器中选中您的目标。

5

在我的情况下,它与CocoaPods相关。我花费了很多时间寻找原因,因为一切看起来都是正确的。我在这里找到了解决方法https://github.com/CocoaPods/CocoaPods/issues/7003。我只需将“[CP] Copy Pods Resources”和“[CP] Embed Pods Frameworks”移至Build Phases中的“Copy Bundle Resources”之前,错误就消失了。


3

对于任何Xamarin.iOS或Xamarin.Forms开发人员,您还需要检查.csproj文件(针对iOS项目),确保它包含对PNG的引用,而不仅仅是Asset Catalog。

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

3

我在使用Xcode 4.6提交应用程序时遇到了同样的问题。它不能识别尺寸为120x120、58x58、29x29等的图标。因此,当我试图将这些图标添加到info.plist并提交应用程序进行审核时,Xcode 4.6不允许我这样做。在没有以上图标的情况下提交应用程序后,我收到了一封邮件,上面写着:

“您的提交成功了,但您可能希望在下次提交中更正以下问题: 缺少建议的图标文件-包不包含iPhone/iPod Touch的‘120x120’像素的.png格式的应用图标。”

由于这是建议而不是必需的,所以我还是提交了应用程序。我将上述建议的图标添加到了bundle中,但没有在Info.plist中指定它们。我再次收到了同样的邮件。这次,我忽略了它,令人惊讶的是应用程序被接受了。

我希望我的应用程序可以在iOS 5及以上版本上运行,因此我必须使用Xcode 4.6而不是最新的Xcode 5,因为后者只允许为iOS 7及以上版本构建应用程序。

更新:

注意:“从2014年2月1日开始,提交到应用商店的新应用程序和应用程序更新必须使用Xcode 5和iOS 7 SDK。” https://developer.apple.com/news/?id=12172013a#top

因此,这种情况在未来将是无效的。


我已经尝试了几次,甚至更改了文件名并将其添加到plist中,但仍然收到了那封电子邮件。希望一切都没问题。 - Jules
@Jules 请放心,这没问题。我的应用程序没有这些图标也被接受了。我不知道它们对于聚光灯图标有什么作用,我认为他们只是使用可用的图标(114x114或57x57)。 - girish_vr

2

这个应该被称为警告而不是错误。至少邮件里说图标文件“推荐”而不是“必须”。如果你的目标是iOS 6,可以安全地忽略这个警告。当然,在iOS 7中,您需要新的尺寸,并注意图标的圆角的新舍入方式。


1
在我的情况下,我只是从info.plist文件中删除了CFBundleIcons〜ipad键,这个键阻止了iPad使用AppIcon集。我的项目目标是iPhone和IOS 8,XCode版本是6.3。设置CFBundleIcons〜ipad可能来自早期版本的XCode。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接