缺少必需的图标文件。该软件包不包含完全'120x120'像素的iPhone / iPod Touch应用程序图标

问题描述 投票:8回答:13

我最近的App Store上传给了我这个错误:

iTunes Store operation failed.
Missing required icon file. The bundle does not contain an app icon for iPhone / iPod Touch of exactly '120x120' pixels, in .png format for iOS versions >= 7.0.

我添加了一个120像素的图标文件,名称为“Icon-120.png”和“[email protected]”并检查它是否正在Build Phases> Copy Bundle Resources中添加,但我仍然得到相同的错误。

有什么建议我可以尝试解决这个问题吗?

如果它帮助我一直在努力通过这个非常冗长的SO答案:'Missing recommended icon file - The bundle does not contain an app icon for iPhone / iPod Touch of exactly '120x120' pixels, in .png format',但还没有到底。

此外,我已经完成了Build> Clean并重新启动了Xcode。

====

$ file Icon-120.png 
Icon-120.png: PNG image data, 120 x 120, 8-bit/color RGBA, non-interlaced
$ file Icon-60\@2x.png 
[email protected]: PNG image data, 120 x 120, 8-bit/color RGBA, non-interlaced
ios iphone xcode itunesconnect
13个回答
11
投票

如果你使用xcode 9,也许试试这个。找到xcarchive文件,执行此命令。

find Products/ -name Info.plist -print0 | xargs -0n1 plutil -replace BuildMachineOSBuild -string 16A323

访问developer site stubyte的回答。


0
投票

就我而言,由于某种原因,AppIcon资产不属于应用目标。选中此复选框可解决问题:

enter image description here


0
投票

如果你像我一样:

  • 对黑客不感兴趣
  • 全新的XCODE,只是想让您的React Native或Wrapper应用程序构建和上传
  • 运行Xcode 9
  • 没有在本地正确声明图标

你可能犯了我的错误而你实际上并没有遇到其他人所遇到的问题。你只需要将图标放在项目中!

我的简单方案:

  • 创建一个名为[email protected]的80x80图标
  • 创建一个名为[email protected]的120x120图标
  • 创建一个名为Icon.png的1024x1024图标
  • 打开XCODE
  • 导航到Images.xcassets,它会为您提供几个拖动图标的位置
  • [email protected]拖到Iphone Spotlight iOS 7,40pt,x2框中
  • [email protected]拖到Iphone App iOS 7,60pt,x2框中
  • 将Icon.png拖到App Store 1024pt

重新存档并重试上传...成功!


0
投票

就我而言,我使用此站点为应用程序创建了新图标。

发生此错误是因为错误中没有指示大小的图标。在我的情况下,它是不存在的不同大小的图标。

https://appicon.co/#app-icon


0
投票

我们有一个旧的遗留项目从2015年和Xcode 6.它使用旧的cocoapods集成。到目前为止,其他提出的解决方案都没有奏效在敲了几个小时后,我找到了解决方案。我们只需要更新cocoapods并重新运行pod install。事实上,我将cocoapods解体并从scretch中整合出来,但也许pod install已经足够了。


11
投票

对于High Sierra上的Xcode 9,试试这个:

  1. 转到菜单产品>存档,右键单击新构建>在Finder中显示。
  2. 打开终端并更改为存档:(键入cd + space,拖动新的构建* .xcarchive cd /Users/[user]/Library/Developer/Xcode/Archives/[XXX].xcarchive
  3. 使用@ stubyte的代码: 查找产品/ -name Info.plist -print0 | xargs -0n1 plutil -replace BuildMachineOSBuild -string 16A323
  4. 返回Xcode> Windows> Organizer>上传到App Store ...

固定:

ERROR ITMS-90022:“缺少必需的图标文件。该软件包不包含完全'120x120'像素的iPhone / iPod Touch的应用程序图标,iOS版本的.png格式> = 10.0。”

ERROR ITMS-90023:“缺少必需的图标文件。该软件包不包含完全'167x167'像素的iPad应用程序图标,支持iPad Pro的iOS版本为.png格式。”

ERROR ITMS-90023:“缺少必需的图标文件。该软件包不包含iPad的应用程序图标,完全'152x152'像素,iOS版本的.png格式> = 10.0。”

仍在警告

警告ITMS-90704:“缺少营销图标.iOS应用程序必须包含PNG格式的1024x1024px营销图标。不包含营销图标的应用程序无法提交给App Review或Beta App Review。”

这个临时解决方案对我有用。


4
投票

既然你提到的图标文件名不在Info.plist中,你会想要添加:

<key>CFBundleIconFiles</key>
<array>
    <string>Icon-120.png</string>
</array>

现在似乎需要将图标与您的应用相关联。


2
投票

在“常规”视图中,在“应用程序图标和启动图像”部分中,确保“应用程序图标源”与“Images.xcassets”文件链接。


1
投票

另一个简单修复一旦发现:

我在XCode 9.0上遇到了类似的问题,这个项目在XCode 8下工作得非常好,当我升级解决方案时,iOS 10突然失去了它的图标(仅在iPad上)。

把我的头发撕掉,做了sRGB的事情,做了透明度的事情。

结果我在目标info.plist文件中仍然有以下空条目

CFBundleIcons〜ipad公司

我很久以前就开始在目标构建设置中指定它。

解决方案是简单地从info.plist文件中删除此条目(单击有用的小“ - ”按钮。重新构建并测试,一切都再次完美。


1
投票

如果您使用的是images.xcassets文件,请确保它包含在Build Phases> Copy Bundle Resources列表中。我继承了一个没有使用它的项目,迁移到将这个文件用于App Icon,但没有将它添加到Copy Bundle Resources列表中。现在,您会期望更好的错误消息,但这解决了问题。 (所以按照Sahil编辑plist文件,上面引用了stubyte。)


0
投票

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

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

  • 删除所有图标文件,无论是来自资源(删除 - 垃圾)还是appicon文件(选择 - 删除所选项目);删除甚至资产文件夹
  • 深度清洁(按产品菜单w /选项键,然后选择'清理构建文件夹')
  • 添加了一个新的资产目录,并将其称为“资产”,右键单击Assets文件夹并添加新的应用程序图标集 - 在检查器中将其更改为iOS> = 7
  • 三重检查我的所有图标文件在Xcode外面(所有已经是正确分辨率的png文件,但有些仍然从photoshop元素附加颜色配置文件或确实有索引颜色而不是RGB配置文件。所以我确保我只保存一个png文件没有颜色配置文件和背景图层) - 不确定是否有必要
  • 从“产品”菜单中归档构建
  • 从Window - Organizer验证并上传了构建版本

0
投票

如果您已将所有图标文件添加到“images.xcassets”,则可能忘记检查Xcode右侧面板中的“目标成员资格”。

您可以清理项目,将其存档并发送到iTunesConnect。


0
投票

我能够通过在PodFile中复制下面给出的代码来解决问题。

post_install do |installer|
  copy_pods_resources_path = "Pods/Target Support Files/Pods-PROJECT_NAME/Pods-PROJECT_NAME-resources.sh"
  string_to_replace = '--compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"'
  assets_compile_with_app_icon_arguments = '--compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${BUILD_DIR}/assetcatalog_generated_info.plist"'
  text = File.read(copy_pods_resources_path)
  new_contents = text.gsub(string_to_replace, assets_compile_with_app_icon_arguments)
  File.open(copy_pods_resources_path, "w") {|file| file.puts new_contents }
end

让我知道,如果这适合你。

© www.soinside.com 2019 - 2024. All rights reserved.