【问题标题】:Xcode 8 releasing App Crash?Xcode 8 发布 App 崩溃?
【发布时间】:2017-01-25 21:38:11
【问题描述】:

将构建上传到 App Store 时出现错误:

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

之前我上传到Beta测试就好了,我的部署目标是8.3。

【问题讨论】:

    标签: ios xcode swift3


    【解决方案1】:

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

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

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

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

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

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

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

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

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

    6. 使用assetutil 工具在您的应用程序具有的每个Assets.car 中查找任何16 位或P3 资产,如下所示。 : sudo xcrun --sdk iphoneosassetutil --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。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-15
      • 2016-10-19
      • 1970-01-01
      • 2016-10-20
      • 1970-01-01
      • 2014-03-10
      相关资源
      最近更新 更多