Apple 拒绝使用 Xcode 8 构建的应用程序,即使我已经包含了它声称丢失的图标

Posted

技术标签:

【中文标题】Apple 拒绝使用 Xcode 8 构建的应用程序,即使我已经包含了它声称丢失的图标【英文标题】:Apple rejects app built with Xcode 8 even though I have included the icons it claims are missing 【发布时间】:2016-10-01 16:42:29 【问题描述】:

这个应用程序是用 Cordova 6.3.1 构建的,图标是用 cordova-icon 生成的。然而,我认为这些都不相关。

我附上了一张清楚地描述问题和我的困惑的图片:Apple 拒绝我们的二进制文件,说我们缺少 57x57 和 72x72 图标,这些图标在项目中很明显。

对于@pedrouan:这是构建过程创建的目录的屏幕截图。我应该提到,我们多年来一直在使用这些工具进行构建,包括上个月发布的版本。这些拒绝是新的,这让我相信它们是特定于 ios 10 的。我不记得在 Xcode 项目中看到了 Images.xcassets,但看起来构建过程肯定会添加目录。

为@pedrouan 编辑 2:这是资产添加到 Xcode 项目时的样子。我将尝试提交这个,看看这是否是现在需要的新步骤。

为@pedrouan 编辑 3:AppIcon 部分现在看起来与它应该的完全一样。 Apple 仍然拒绝二进制文件。

【问题讨论】:

您能否发布您的Assets.xcassets -> App Icon 目录的屏幕截图?我猜你想念它,因为你不会像现在一样在左侧存储图标文件。 @pedrouan 由于这是一个 Cordova 构建的应用程序,它不使用资产目录。如果您使用资产目录,我相信 Assets.xcassets 仅存在于项目中,对吗?我们在 AFAICT 项目中没有 Assets.xcassets。 我不知道 Cordova,但是尝试检查路径是否设置正确,因为 Cordova 生成的代码负责处理图标。 @pedrouan 你知道有没有关于 AssetCatalogs 的初学者文档吗?我找不到 Apple 的文档来描述如何创建一个,只有如何使用以前存在的一个。 @pedrouan ARGH!我刚刚了解到IS 有一个 AssetCatalog。这是 cordova 构建过程的副作用,它没有显示在 Xcode 项目中。我将在原帖中添加目录截图。 【参考方案1】:

对于 Cordova 构建,尝试通过手动创建资产目录来解决此问题是一条死胡同。这个问题的实际解决方案在这个问题的公认答案中得到了解决:

Adding icons to IOS App in Cordova CLI 6.3.1

看来,cordova-icon 插件可能不再需要了。

【讨论】:

【参考方案2】:

我看到 Apple 的那封电子邮件中有五个关于图标的投诉。这表明,您的所有图标处方都有问题。

我猜这对 Apple 不起作用。在所有情况下,我都会采用资产目录方式。 (尽管我理解,您每次生成产品时都需要这样做)

快速指南:

来源:http://guides.codepath.com/ios/Adding-Image-Assets

如需帮助,请查看此链接上的应用图标部分:http://help.apple.com/xcode/mac/8.0/#/dev10510b1f7

【讨论】:

我现在已经将已经存在的 Images.xcassets 添加到 Xcode 项目中。用另一个显示所有图标的屏幕截图更新了我原来的问题。 在您的屏幕截图上,我看到未分配。这就是问题所在。在我更新的答案中查看附加图片。 应该是这样的。 @pedroaun 我已经完全按照描述定义了 Images.xcassets 的 AppIcon 部分。 Apple 仍然拒绝具有完全相同消息的二进制文件(所有相同的缺失必需文件和推荐文件)。为原始问题附加了新的屏幕截图。 最后,检查您是否将 Asset Catalog 设置为 App Icons 的来源。 pasteboard.co/9ORTvVofB.png

以上是关于Apple 拒绝使用 Xcode 8 构建的应用程序,即使我已经包含了它声称丢失的图标的主要内容,如果未能解决你的问题,请参考以下文章

Apple 会拒绝使用 Xcode 5 构建的应用程序吗? (13.10.2014)

Apple 会接受仅使用 Xcode 5 构建的应用吗

如果我支持 iOS 3.x,Apple 会拒绝我们的应用吗?

服务委托(SBMainWorkspace)拒绝了 xcode 8 错误

苹果拒绝我的应用程序在 Xcode 中将部署目标从 6.0 更改为 8.0 [重复]

Flutter ios 应用程序仅在 iPad 上因“使用 Apple 登录”错误而被拒绝