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

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

我该如何解决这个问题?

以下是苹果目前对图标的要求。

我看不到120x120出现在任何地方?这是iOS 7特有的吗?我应该添加一个icon -120.png之类的图标吗?

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

令我惊讶的是,这款应用在20个小时后就进入了审查阶段,并在第二天就发布了!这不禁让我好奇,究竟有多少苹果/Windows应用测评人员潜伏在这里。


如果从Xcode9提交应用程序时出现图标错误,或者在模拟器和设备上看不到应用程序图标,只需将cocoapods更新到项目中的最新版本。这个问题是Xcode9中cocoapods的一个bug。


在这里可以看到iPhoneX的新指南。


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

你只需要拖放你的1024 * 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的图标大小。不计算聚光灯和设置图标,如果你不想让操作系统插入它们!

根据iOS 7应用程序图标的新指标。

更新:

根据苹果指南,应用程序图标或图标和图像大小:

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

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

为不同设备创建不同大小的应用程序图标。如果你创建的是通用应用,你需要提供四种大小的应用图标。

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

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

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

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


现在将其设置为Project:

创建一个120像素高分辨率和60像素的新图标,就像苹果文档提到的那样,并设置名称。例如“icon-120.png”和“icon-152.png”。 将这些图标放入项目资源文件夹,并将此图标添加到项目中:

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

现在存档并分发你的项目,就像我们提交应用程序二进制文件到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

苹果现在也接受在iOS 7上运行的应用程序,所以无论部署目标6.1或更早,但你还需要提供我上面提到的iOS 7图标大小(商店期望的)。

Xcode 5应用图标管理

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

现在,单击Use Asset Catalog按钮。在确认迁移时,你还会被问到是否希望迁移启动图像(这是iOS中启动应用程序时出现的启动画面)-你也要确保这是选中的。

请看看更多信息苹果文件的资产目录


公认的答案很好,但简短的回答是:

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

通过在谷歌中搜索“捆绑包不包含精确的‘120x120’像素的iPhone / iPod Touch应用程序图标,png格式”可以找到这个。


你不需要这么复杂。如果你使用的是XCode 5(我相信我们大多数人都是),然后创建你的图标,叫他们任何你喜欢的。

myicon - 58. - png myicon - 57. - png myicon - 72. - png myicon - 80. - png myicon - 100. - png ....

并将它们拖放到AppIcon下的正确框中。见截图。你不需要手动编辑plist文件。


我在使用Xcode 4.6提交应用时也遇到了同样的问题。它不识别尺寸为120x120, 58x58, 29x29等的图标。所以当我试图添加这些图标到信息。plist并提交应用进行审查,Xcode 4.6不允许我这样做。在提交没有上述图标的应用程序时,我收到一封邮件说-

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

因为是推荐的,没有必要,所以我还是提交了应用。我将上述推荐的图标添加到包中,但没有在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,你需要新的尺寸,也要注意图标的圆角


在我的例子中,我的App图标文件不是驼峰符号。例如:

我的文件名:Appicon57x57

应该是:AppIcon57x57(注意这里的大写“i”)

所以,在我的案例中,解决方案是这样的:

从资产目录中删除所有图标文件。 如上所述重命名文件。 重新将重命名的文件添加回资产目录。

这应该能解决问题。


我想再加一个陷阱。即使您做的一切都是正确的,如果您在构建过程中支持多个目标,您也可能会被这个错误所困。

图像资产目录是目标的一部分,即使您在Xcode5中选择它用于目标,也不意味着它会自动添加。

结果,构建工作就像一个魅力,但资产目录没有添加到IPA和AppStore验证失败的错误,即图标缺失。

要修复或检查资产是否是目标的一部分,请在Xcode项目中选择资产条目,并确保在检查器中选中了目标。


添加另一个“相同的症状,但不同的解决方案”的响应,以防有人有相同的问题,但没有一个常用的解决方案有效。

以我为例,我有一款应用在资产目录指导和图标命名惯例的灵活性之前开始开发,但在过渡后首次提交给商店。为了解决这个问题,我不得不:

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


在我的情况下,我只是从信息中删除CFBundleIcons~ipad键。plist文件是阻止使用AppIcon设置为iPad。

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


我手动创建了我的AppIcon目录,其中有所有正确的图标,但我的项目没有使用它作为图标目录。在项目的General选项卡(在这里你可以设置项目名称和版本号)上,有一个App Icons Source条目,但无法选择我创建的目录。我必须单击按钮来创建一个新目录,然后删除该新目录,然后该按钮变成一个菜单,我可以在其中选择现有的目录。


任何沙玛林。iOS或Xamarin。表单开发人员,此外,你会想检查.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>

我也有同样的问题。使用Xcode 8.3.3,并希望在资产目录中使用AppIcon。尝试了所有Stack Overflow的答案都没有成功。

最后从Ken/Apple论坛了解到一个深刻的清洁步骤:

removed all icon files, whether from resources (delete - trash) or appicon file (select - remove selected items); removed even assets folder deep cleaned (Use the Product menu w/option key pressed, then choose to 'clean build folder') added a new asset catalogue and called it "Assets" right clicked in Assets folder and added new app icon set - changed that one in inspector to be for iOS >=7 triple checked all my icon files OUTSIDE of Xcode (all were already png files of right resolution, but some had still colour profile attached from photoshop elements or did have indexed colour instead of RGB profile. so I made sure I only save a png file without colour profile and from a background layer) - not sure that was necessary archived the build from Product menu validated and uploaded the build from Window - Organizer


在我的案例中,它与CocoaPods有关。我花了很多时间去寻找原因,因为一切似乎都是正确的。我在这里找到了https://github.com/CocoaPods/CocoaPods/issues/7003。我只是在构建阶段将“[CP] Copy Pods Resources”和“[CP] Embed Pods Frameworks”移到了“Copy Bundle Resources”上面,错误就消失了。


一个简单的方法是你的应用图标大小为1024 X 1024。只要把它上传到下面的网站,它将生成图标文件夹Add apppicon。Appiconset在您的应用程序。

步骤1:

在以下站点上传现有1024 X 1024图标:

https://makeappicon.com/

第二步:

它会给你发邮件。

从电子邮件下载icon.zip。

步骤3:拖放AppIcon。应用程序的apppiconset。它将包含所有需要图标。

这可能对你们都有帮助。

编辑:我不是这个网站的所有者/发起人。这将节省我们的时间。


为了给你的Xcode项目生成图标,我建议你考虑使用SquareIcon。我认为这使得为苹果平台创建应用图标集变得非常简单。告诉你一声,这是我自己的应用。

你可以放入图标的通用图像文件(如PNG或JPG),并生成一个。appiconset文件,你可以把它放在Xcode项目的资产目录中。这样就不需要手动调整一堆图像的大小。


当我在MAC上使用预览应用程序使用应用程序图标图像从180x180大小的图标调整为120x120时,我得到了这个错误。当我从项目中删除120x120图标时,错误已经消失了。调整图标的大小可能会打乱苹果要求的格式。