【问题标题】:'Missing recommended icon file - The bundle does not contain an app icon for iPhone / iPod Touch of exactly '120x120' pixels, in .png format''缺少推荐的图标文件 - 该捆绑包不包含 .png 格式的 iPhone / iPod Touch 的应用程序图标,大小正好为 '120x120' 像素'
【发布时间】:2013-09-15 05:27:53
【问题描述】:

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

缺少推荐的图标文件 - 捆绑包不包含 .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 应用程序评论人潜伏在这里。

【问题讨论】:

  • 那么您是否拒绝了您已经上传的二进制文件,并使用新的 120x120 图标进行了修改并再次上传?我只是好奇 Apple 审核是否会忽略此错误或拒绝审核中的应用程序。谢谢。
  • 我添加了一个图标:Icon-120.png,但忘记在 plist.info 中添加它。所以我仍然收到警告。我们很快就会知道接下来会发生什么。对于解决方案,请阅读以下答案的cmets,我认为他们已经找到了解决它的方法。

标签: iphone ios ios7 itunes


【解决方案1】:

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


iPhoneX 有一个新指南,可以看到 here


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 和设置图标!

根据博文 New Metrics for iOS 7 App Icons

更新:

根据 Apple 指南 App-iconIcon and Image Sizes

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

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

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

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

  • 120 x 120 像素

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

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

  • 152 x 152

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


现在将其设置到项目中:

  • 创建一个具有 120 像素的高分辨率和 60 像素的新图标,如上所述,Apple 文档提到并设置名称。例如,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 引入了Asset Catalogs 来简单地管理图像的多个副本(例如用于多个分辨率)。我们将创建一个来管理游戏的图标以及启动图像。

现在,单击使用资产目录按钮。确认迁移时,系统还会询问您是否要迁移启动图像(这是 iOS 对启动应用程序时出现的初始屏幕的说法) - 您需要确保也检查这一点。

请查看更多信息Apple doc of Asset Catalogs

【讨论】:

  • 抱歉,我可能遗漏了什么。由于我收到了与 Telkitty 相同的电子邮件,因此我拒绝了我的二进制文件并在我的项目中添加了一个 120x120 图标名称 icon120.png。我再次提交了该应用程序,但我再次收到相同的电子邮件,告诉我 120px 图标丢失了。图标应该有一个特定的名称吗?谢谢
  • 是的,可能是你放错了名称尝试使用 icon-120.png 将其设置为 plist 文件
  • 我在 plist 文件中添加了 120px 图标的名称,一切正常。谢谢
  • 1/ 在 Resources/icons 中添加 icon-120.png 2/ 在项目中添加 icon-120.png 3/ 在 Resources/XXX-info.plist 添加条目:/Icon files/Primary Icon/Iconfiles/icon-120.png 4/ 归档和分发。
  • 一团糟是低估了它。
【解决方案2】:

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

<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 应用程序图标”找到此 here。在谷歌中。

【讨论】:

  • 来自 Apple 的最新消息:在 info.plist 中使用“Icon-60”、“Icon-76”和“Icon-72”。去掉“@2x”和“.png”。不知何故,这一切都在幕后得到了理顺。
  • 如何处理这段代码?上传什么尺寸的图片?怎么会有这么多赞...
【解决方案3】:

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

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

然后将它们拖放到 AppIcon 下的正确框上。请参阅屏幕截图。您不必手动编辑 plist 文件。

【讨论】:

    【解决方案4】:

    如果您有大小为 1024 X 1024 的应用程序图标,一种简单的方法。只需将其上传到以下站点,它将生成图标文件夹添加 AppIcon.appiconset 到您的应用程序中。

    第一步:

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

    https://makeappicon.com/

    第二步:

    它会给你发邮件。

    从电子邮件下载 icon.zip。

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

    它可能对大家有所帮助。

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

    【讨论】:

    • 我发现这是最好的答案。也是最简单的实现!
    • @HashimAkhtar 谢谢
    • 我发现这很有用,只是删除了旧的 AppIcon.appiconset 并解压缩了电子邮件 zip 文件并拖放工作非常感谢
    【解决方案5】:

    我想添加另一个陷阱。即使您做对了所有事情,如果您在构建过程中支持多个目标,您也可能会被此错误困住。

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

    因此,构建工作就像一个魅力,但资产目录没有添加到 IPA 并且 AppStore 验证失败并出现错误,即图标丢失。

    要修复或检查资产是否属于目标,请在 Xcode 项目中选择 assets-entry 并确保在检查器中检查您的目标。

    【讨论】:

      【解决方案6】:

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

      【讨论】:

        【解决方案7】:

        我在使用 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

        因此,这种情况以后会失效。

        【讨论】:

        • 我已经尝试了几次,同时将它添加到 plist 甚至更改了文件名,但我仍然收到了那封电子邮件。希望一切都会好起来的。
        • @Jules 放心,一切都会好的。我的应用程序在没有这些图标的情况下被接受。我不知道他们对聚光灯图标做了什么,我假设他们只是使用可用的图标。(114x114 或 57x57)
        【解决方案8】:

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

        【讨论】:

          【解决方案9】:

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

          【讨论】:

            【解决方案10】:

            在我的例子中,我只是从 info.plist 文件中删除了 CFBundleIcons~ipad 键,该文件阻止了 iPad 使用 AppIcon 集。

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

            【讨论】:

              【解决方案11】:

              刚刚遇到同样的问题。使用 Xcode 8.3.3 并想在 Assests 目录中使用 AppIcon。尝试了各种 Stack Overflow 答案都没有成功。

              终于从 Ken/Apple 论坛了解到深度清洁步骤:

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

              • 检查了我在 Xcode 之外的所有图标文件(都已经是 png 正确分辨率的文件,但有些文件仍然附有颜色配置文件 来自 Photoshop 元素或确实有索引颜色而不是 RGB 轮廓。所以我确保我只保存一个没有颜色配置文件的 png 文件 并从背景层) - 不确定这是必要的

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

              【讨论】:

                【解决方案12】:

                就我而言,我的 App 图标文件不是骆驼大小写符号。例如:

                我的文件名:Appicon57x57

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

                所以,就我而言,解决方案是这样的:

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

                这应该可以解决问题。

                【讨论】:

                  【解决方案13】:

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

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

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

                  【讨论】:

                    【解决方案14】:

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

                    【讨论】:

                      【解决方案15】:

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

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

                      【讨论】:

                        【解决方案16】:

                        我在使用应用程序图标图像时遇到此错误,该图像使用 MAC 上的预览应用程序从 180x180 大小的图标调整为 120x120。当我从项目中删除 120x120 图标时,错误消失了。调整图标大小可能会与 Apple 要求的格式不一致。

                        【讨论】:

                          猜你喜欢
                          • 1970-01-01
                          • 2017-10-12
                          • 2017-07-15
                          • 1970-01-01
                          • 2013-09-15
                          • 2018-03-12
                          • 2014-02-06
                          • 2017-11-26
                          相关资源
                          最近更新 更多