将版本上传到App Store时出现错误:

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

我以前将其上载到Beta测试之前,我的部署目标是8.3。

最佳答案

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

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

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

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


  • 创建一个可检查的.ipa文件。在Xcode管理器(Xcode-> Window-> Organizer)中,选择要检查的档案,然后单击
    “导出...”,然后选择“为企业或临时部署导出”。
    这将为您的应用程序创建.ipa文件的本地副本。
  • 找到该.ipa文件,并将其扩展名更改为.zip。
  • 展开.zip文件。这将产生一个包含.app捆绑包的有效负载文件夹。
  • 打开终端,然后将工作目录更改为.app捆绑软件的顶层。cd path / to / Payload / your.app
  • 使用查找工具在.app捆绑包中找到Assets.car文件,如下所示:find。名称'Assets.car'
  • 使用assetutil工具在您的应用程序具有的每个Assets.car中查找任何16位或P3资产,如下所示。 :须藤xcrun --sdk
    iphoneos assetutil --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。

    关于ios - Xcode 8释放应用程序崩溃?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39552134/

    10-14 20:45
    查看更多