ITMS-90682:“无效的捆绑包。

Posted

技术标签:

【中文标题】ITMS-90682:“无效的捆绑包。【英文标题】:ITMS-90682: "Invalid Bundle. 【发布时间】:2017-01-29 20:31:55 【问题描述】:

今天我将我的 Xcode 愿景更新到 8.0。当我向 Apple 商店提交 app.ipa 文件时,我收到错误反馈 如果应用程序针对 ios,'$path' 的资产目录不能包含 16 位或 P3 资产早于 iOS 9.3 的版本。”]。

我在网上搜索了答案,得到了类似的答案,但不合适。

因为他们的问题和我的不完全一样。他们的问题包含“Payload/****.app/Assets.car”,但我的问题包含“$path”。

他们的方法如下:

第一步:修改app.ipa文件名为app.zip

第二步:解压app.zip

第三步:撤消命令行和$ cd app.app文件

第四步:$ 查找。 -name 'Assets.car'

第五步:$ sudo xcrun --sdk iphoneosassetutil --info /path/to/a/Assets.car > /tmp/Assets.json

第六步:打开/tmp/Assets.json

第七步:在名为“Assets.json”的文件中搜索“P3”和“16-bit”

第八步:记录“姓名”

第九步:打开Xcode,找到第八步已经记录名字的图片。将图像格式更改为 8 和 sRGB

这些不适用于我的,因为不同的是“$path”。我无法在我的项目中获取图像的名称,其中形式是 P3 或 16 位,因为我无法获得正确的方法来获取第五步的属性 Assets.json 文件。

【问题讨论】:

看看这个答案中的更新:***.com/a/39453818/1181553 Xcode 8 build crash on iOS 9.2 and below的可能重复 我的问题不是“Payload/XXXXX/Assets.car”而是“$path”.@miniBill 【参考方案1】:

如果您使用“8.3”,请将“IPHONEOS_DEPLOYMENT_TARGET”更改为“8.2”。

【讨论】:

为我做到了。【参考方案2】:

简答

我们需要将部署目标降低到 8.2 以通过 iTunes Connect

完整答案

@dove lark 这是来自 Apple 开发者论坛,请查看更新段落:

使用 Xcode 8 GM,如果您包含 16 位或 P3,则会出现此错误 应用程序提交中针对 iOS 版本早于 iOS 的资产 9.3.如果您的应用需要广色域功能,您必须将您的部署目标更改为 iOS 9.3 或更高版本。如果您的应用没有 需要广泛的颜色功能,并且您希望将其部署到较旧的 iOS 版本,那么您应该将所有 16 位或 P3 资产替换为 8 位 sRGB 资源。您可以通过运行找到 16 位或 P3 资产 错误消息中命名的资产目录上的“assetutil”来自 iTunes 连接。以下步骤概述了该过程:

    创建一个可检查的 .ipa 文件。在 Xcode Organizer (Xcode->Window->Organizer) 中,选择要检查的存档,单击 “Export...”,然后选择“Export for Enterprise or Ad-Hoc Deployment”。 这将为您的应用创建 .ipa 文件的本地副本。

    找到该 .ipa 文件并将其扩展名更改为 .zip。

    展开 .zip 文件。这将生成一个包含您的 .app 包的 Payload 文件夹。

    打开终端并将工作目录更改为 .app 包的顶层 cd path/to/Payload/your.app

    使用查找工具在您的 .app 包中查找 Assets.car 文件,如下所示: -name 'Assets.car'

    使用assetutil 工具在您的应用程序具有的每个Assets.car 中查找任何16 位或P3 资产,如下所示。 : sudo xcrun --sdk iphoneosassetutil --info /path/to/a/Assets.car > /tmp/Assets.json

    检查生成的 /tmp/Assets.json 并查找包含“DisplayGamut”的任何内容:“P3”及其关联的“名称”。这会 是包含一个或多个 16 位或 P3 的图像集的名称 资产。

    将这些资源替换为 8 位/sRGB 资源,然后重新构建您的应用。 更新:如果您的部署目标设置为 8.3 或 8.4 并且您有一个资产目录,那么您将收到同样的错误 消息,即使您实际上没有 16 位或 P3 资产。在 在这种情况下,您需要将部署目标降低到 8.2, 或将其移至 9.x。

更新:如果您的部署目标设置为 8.3 或 8.4,并且您 有一个资产目录,那么您将收到同样的错误消息, 即使您实际上没有 16 位或 P3 资产。在这种情况下 您要么需要将部署目标降低到 8.2,要么移动 最高可达 9.x。

Apple Developer forums link

意味着我们需要将部署目标降低到 8.2 才能通过 iTunes Connect。

可笑地解决了我的问题,希望这对其他人有帮助...

【讨论】:

以上是关于ITMS-90682:“无效的捆绑包。的主要内容,如果未能解决你的问题,请参考以下文章

ERROR ITMS-90682: Invalid Bundle - The asset catalog at 'Payload/XXXXX/Assets.car' can't