Ios Xcode 8发布应用程序崩溃?

Ios Xcode 8发布应用程序崩溃?,ios,xcode,swift3,Ios,Xcode,Swift3,将生成上载到应用商店时出错: “无效捆绑包。如果应用的目标是iOS 9.3之前的iOS版本,'$path'处的资产目录不能包含16位或P3资产” 我以前经常将它上传到Beta测试,现在还不错,我的部署目标是8.3。这个答案正是解决您问题的方法 您需要找到所有P3资源,然后将它们转换为sRGB颜色空间(使用任何图像编辑器)。以下是原始答案: 对于Xcode 8 GM,如果包含16位或P3,则会发生此错误 应用程序提交中的资产以iOS版本之前的iOS版本为目标 9.3. 如果您的应用程序需要宽颜色

将生成上载到应用商店时出错:

“无效捆绑包。如果应用的目标是iOS 9.3之前的iOS版本,'$path'处的资产目录不能包含16位或P3资产”


我以前经常将它上传到Beta测试,现在还不错,我的部署目标是8.3。

这个答案正是解决您问题的方法

您需要找到所有P3资源,然后将它们转换为sRGB颜色空间(使用任何图像编辑器)。以下是原始答案:

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

  • 创建一个可检查的.ipa文件。在Xcode管理器(Xcode->Window->Organizer)中,选择要检查的存档,单击 “导出…”,然后选择“为企业或临时部署导出”。 这将为您的应用程序创建.ipa文件的本地副本

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

  • 展开.zip文件。这将生成一个包含.app包的有效负载文件夹

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

  • 使用查找工具查找.app捆绑包中的Assets.car文件,如下所示:查找。-名称“Assets.car”

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

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

  • 将这些资产替换为8位/sRGB资产,然后重建应用程序

  • 更新:如果您的部署目标设置为8.3或8.4,并且您有 然后,您将收到相同的错误消息,即使您没有收到 实际上有16位或P3资产。在这种情况下,您需要降低 您的部署目标是8.2,或者将其升级到9.x