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


200

我提交了应用更新,但收到一封电子邮件,告诉我发生了此错误:

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

我该如何解决这个问题?

是Apple当前对图标的要求。

我看不到任何地方都出现120x120吗?这是iOS 7专用的吗?我应该包括一个名为Icon-120.png或其他名称的图标吗?

更新:我在资源文件夹中添加了三个图标(Icon-120.png:120x120,Icon-76.png:76x76和Icon-152.png:152x152),但没有将它们添加到中info.plist。收到了相同的警告电子邮件。我决定不进行任何更改,然后等待下一步会发生什么。

令我惊讶的是,该应用程序在20小时后进入审核阶段,并于第二天在市场上发布!有点让我想知道有多少Apple / Windows应用程序评论人在这里闲逛。


那么您是否拒绝了您已经上传的Binary,使用新的120x120图标对其进行了修改并再次上传?我很好奇,Apple评论会忽略此错误还是拒绝正在审查的应用程序。谢谢。
Saurabh Hooda 2013年

2
我添加了一个图标:Icon-120.png,但是忘记将其添加到plist.info中。所以我仍然收到警告。我们将很快发现下一步会发生什么。对于解决方案,请阅读下面答案的评论,我认为他们找到了解决问题的方法。
TelKitty

Answers:


314

如果error从提交应用程序时收到图标Xcode9,或者在模拟器以及设备上看不到应用程序图标,则只需将其更新cocoapods为项目中的最新版本即可。这个问题是一个bug Xcode9cocoapods


有一个新的指引iPhoneX,可以看出这里


是一个有用的网站,可为iOS,Mac App和Android应用程序创建图标。

您只需要拖放1024 x 1024图标,该站点将创建所有图标尺寸并将其发送到您的电子邮件中。然后按照以下方法为iOS应用设置图标。

在Apple启动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 and 152 x 152图标大小。如果您不希望操作系统对它们进行插值,则无需计算Spotlight和“设置”图标!

在此处输入图片说明

在此处输入图片说明

根据博客文章iOS 7应用图标的新度量标准

更新:

根据Apple Guideline App-icon图标和图像大小

图标尺寸(iOS 7及更高版本)

在此处输入图片说明

图标尺寸(iOS 6.1和更低版本)

在此处输入图片说明

为不同的设备创建不同大小的应用程序图标。如果要创建通用应用,则需要提供所有四种尺寸的应用图标。

对于iPhone和iPod touch,这两个尺寸都是必需的:

  • 120 x 120像素

  • 60 x 60像素(标准分辨率)

对于iPad,以下两个尺寸都是必需的:

  • 152 x 152

  • 76 x 76像素(标准分辨率)


现在将其设置为Project:

  • 如Apple文档所述,创建一个具有120像素高分辨率和60像素常规像素的新图标,并设置名称。例如icon-120.pngicon-152.png

  • 将此图标放入项目的Resource文件夹中,并将此图标添加到项目中:

在此处输入图片说明

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

在此处输入图片说明

在此处输入图片说明

现在,就像我们将应用程序二进制文件提交到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上运行的应用程序,因此,无论是Deployment target 6.1或更早版本,都需要提供iOS 7图标大小,这是我在商店中所期望的。

Xcode 5应用程序图标管理

如果使用的是xCode5,首先要更新的是图标。Xcode 5引入了资产目录,以简单地管理图像的多个副本(例如用于多种分辨率)。我们将创建一个用于管理游戏图标和启动图像的图片。

在此处输入图片说明

现在,单击使用资产目录按钮。在确认迁移时,还会询问您是否要迁移启动图像(这是启动应用程序时出现的初始屏幕的iOS对话)-您还要确保选中此选项。

在此处输入图片说明

请查看更多信息苹果资产目录文档


抱歉,也许我丢失了一些东西。由于我收到的电子邮件与Telkitty相同,因此我拒绝了二进制文件,并将120x120图标名称icon120.png添加到我的项目中。我再次提交了该应用程序,但是再次收到相同的电子邮件,告知该120px图标丢失。图标应有特定名称吗?谢谢
Miwi 2013年

2
是的,可能是您输入的名称错误尝试使用icon-120.png将其设置为plist文件
Nitin Gohel 2013年

1
我在plist文件中添加了120px图标的名称,一切正常。感谢
Miwi 2013年

2
1 /在资源/图标中添加icon-120.png 2 /在项目中添加icon-120.png 3 /在资源/XXX-info.plist中添加条目:/ Icon files / Primary Icon / Iconfiles / icon-120。 png 4 /存档和分发。
Patrice 2013年

2
血腥的混乱低估了它。
Snowcrash

27

可以接受的答案很好,但这是简短的答案:

<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格式的像素精确为'120x120'的iPhone / iPod Touch应用图标”,在此处找到了此内容。在Google中。


3
Apple的最新消息:在info.plist中使用“ Icon-60”,“ Icon-76”和“ Icon-72”。省略“ @ 2x”和“ .png”。不知何故,一切都在幕后理顺了。
克里夫·哈里斯

7

您不必以这种复杂的方式进行操作。如果您使用的是XCode 5(我相信我们大多数人都在使用),那么创建您的图标时就可以随意调用它们,即

  • myIcon-58.png
  • myIcon-57.png
  • myIcon-72.png
  • myIcon-80.png
  • myIcon-100.png ....

并将它们拖放到AppIcon下的正确框中。查看屏幕截图。您不必手动编辑plist文件。

在此处输入图片说明 在此处输入图片说明 在此处输入图片说明


6

一种简单的方法是,如果您将应用程序图标的大小设置为1024 X1024。只需将其上传到以下站点,它将生成图标文件夹添加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项目中选择资产条目,并确保在检查器中检查了目标。



3

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

“您的交付已成功,但您可能希望在下次交付时更正以下问题:缺少推荐的图标文件-该捆绑包不包含iPhone / iPod Touch的应用程序图标,其像素格式完全为'120x120',。png格式。 ”

由于是推荐操作,因此没有必要,因此我还是提交了该应用程序。我将以上推荐的图标添加到捆绑包中,但未在Info.plist中指定它们。我又收到了同一封邮件。这次我忽略了它,令我惊讶的是该应用程序被接受了。

我希望我的应用程序可以在iOS 5及更高版本上运行,因此,我必须使用Xcode 4.6,而不是最新的Xcode 5,后者只能正确地仅允许iOS7和更高版本的应用程序使用。

更新:

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

因此,这种情况将来将无效。


我尝试了几次,即使将其添加到plist甚至更改了文件名,我仍然收到该电子邮件。希望一切都会好的。
2013年

@Jules放心,一切都会好的。没有这些图标,我的应用就被接受了。我不知道它们对聚光灯图标有什么作用,我假设它们只是使用可用的图标。(114x114或57x57)
girish_vr

2

这应该被称为警告,而不是错误。至少电子邮件中说图标文件是“推荐”而不是“必需”。如果以iOS 6为目标,则可以放心地忽略此警告。当然,对于iOS 7,您需要新的尺寸,并且还要注意图标角的新四舍五入


2

对于任何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>

1

就我而言,我只是CFBundleIcons~ipadinfo.plist文件中删除了密钥,该密钥阻止了AppIconiPad 的set 的使用。

我项目的目标是iPhone和IOS8。XCode版本是6.3。设置CFBundleIcons~ipad可能来自XCode的早期版本。


1

只是有同样的问题。使用Xcode 8.3.3,并希望在Assests目录中使用AppIcon。尝试了各种堆栈溢出答案,但均未成功。

终于从Ken / Apple论坛了解了一个深层清洁步骤:

  • 删除了所有图标文件,无论是从资源中(删除-垃圾箱)还是从appicon文件中(选择-删除所选项目);甚至删除了资产文件夹
  • 深度清洁(使用产品菜单并按下选项键,然后选择“清洁构建文件夹”)
  • 添加了一个新的资产目录,并在Assets文件夹中单击鼠标右键将其命名为“ Assets”,并添加了新的应用程序图标集-将检查器中的该图标更改为适用于iOS> = 7 Triple

  • 检查了我所有在Xcode之外的图标文件(所有文件都已经是分辨率正确的png文件,但是有些文件仍然具有来自Photoshop元素的颜色配置文件,或者具有索引颜色而不是RGB配置文件。因此,我确保我只保存了没有颜色的png文件个人资料和背景图层)-不确定是否有必要

  • 从产品菜单中存档了构建
  • 从Window验证并上传了构建-Organizer

0

就我而言,我的App图标文件不是驼峰表示法。例如:

我的档案名称: Appicon57x57

应为:(AppIcon57x57请在此处注意大写的“ i”)

因此,就我而言,解决方案是这样的:

  1. 从资产目录中删除所有图标文件。
  2. 如上所述重命名文件。
  3. 再次将重命名的文件添加回资产目录。

这应该可以解决问题。


0

如果有人遇到相同的问题,但又添加了“相同的症状,但解决方案不同”的响应,但没有一个通用的解决方案在起作用。

就我而言,我有一个应用程序在资产目录指示和图标命名约定的灵活性之前开始开发,但是在过渡后首先提交给商店。要解决此问题,我必须:

  1. 从Info.plist中删除所有与“图标相关”的行
  2. 对AppIcons和LaunchImages都切换回“不使用资产目录”
  3. 切换回AppIcons和LaunchImages的资产目录
  4. 将图像文件重新拖放到适当的位置。

0

我手动创建了AppIcon目录,并在其中包含了所有正确的图标,但是我的项目并未将其用作图标目录。在项目的“常规”选项卡(您可以在其中设置项目名称和版本号)上,有一个“应用程序图标源”条目,但是无法选择我创建的目录。我必须单击按钮来创建新目录,然后删除该新目录,然后将按钮更改为菜单,从中可以选择现有目录。


0

为了为您的Xcode项目生成图标,建议您考虑使用SquareIcon。我相信这使创建适用于Apple平台的应用程序图标集非常容易。只是想让您知道,这是我自己的应用。

您可以放入图标的通用图像文件(如PNGJPG)并生成一个.appiconset文件,然后将其放入Xcode项目的资产目录中。这消除了手动调整一堆图像大小的要求。


0

当我使用在MAC上使用预览应用程序将应用程序图标图像从180x180大小的图标重新调整为120x120时,出现此错误。当我从项目中删除120x120图标时,错误消失了。调整图标大小可能会弄乱Apple要求的格式。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.