2016-09-17 124 views
2

我得到一个错误,而上传构建到App Store:Xcode 8发布应用程序崩溃?

“无效捆绑在‘$ PATH’的资产目录不能包含16位或P3资产,如果应用程序的目标是IOS版本早于iOS 9.3“

我以前上传到Beta版测试才刚好,我的部署目标是8.3。

回答

3

这个答案是完全解决您的问题

https://stackoverflow.com/a/39453818/1271424

你需要找到所有P3资产,然后将其转换成sRGB色彩空间(使用任何图像编辑器)。这里是原来的答案:

和Xcode 8 GM,会出现此错误如果您在一个应用程序提交16-bit或P3 资产中定位iOS之前版本的iOS版,然后9.3 。如果您的应用需要广泛的颜色功能,您必须将您的部署目标更改为iOS 9.3或更高版本。如果您的应用不需要 需要广泛的颜色功能,并且您希望将其部署到较早的iOS版本 ,则应该用 8位sRGB资产替换所有16位或P3资产。通过在来自 iTunes Connect的错误消息中指定的资产目录上运行 “assetutil”,您可以找到16位或P3资产。以下步骤概述了该过程:

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

  2. 找到.ipa文件,并更改其扩展为.zip。

  3. 展开.zip文件。这将产生包含您的.app包有效负载文件夹。

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

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

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

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

  8. 用8位/ sRGB资产替换这些资产,然后重建您的应用程序。

更新:如果您的部署目标被设定为8.3或8.4和你有一个 资产目录,那么你将收到此相同的错误消息,即使你不 居然有16位或P3资产。在这种情况下,您需要将 您的部署目标降至8.2,或将其移至9.x.

相关问题