【问题标题】:Enable Bitcode is not setting to Yes after upgrading watchOS 1 to watchOS4 in Xcode 9.1在 Xcode 9.1 中将 watchOS 1 升级到 watchOS4 后 Enable Bitcode 未设置为 Yes
【发布时间】:2018-05-24 22:10:37
【问题描述】:

我在升级 watchOS 后尝试提交构建时收到了来自 Apple 的邮件。 Bitcode之前没有在整个应用中启用。

尊敬的开发者, 我们发现您最近交付的“event****”存在一个或多个问题。要处理您的交付,必须更正以下问题: 无效的可执行文件 - 可执行文件“ProjectName.app/Watch/ProjectName WatchKit App.app/PlugIns/ProjectName WatchKit Extension.appex/ProjectName WatchKit Extension”不包含bitcode。 尽管您不需要解决以下问题,但我们想让您了解它们: WatchKit 1.0 - 您之前的版本使用了 Apple Watch 的扩展,但您当前的版本没有。尚未将 Apple Watch 更新至 watchOS 2 或更高版本的用户可能无法访问其 Apple Watch 扩展程序。 完成所需的更正后,您可以重新交付更正后的二进制文件。

我已经用谷歌搜索并点击了这个链接,这对我来说似乎有帮助,但它没有。

Bitcode WatchOS3 - how to generate

我有一个疑问,在我的 iOS 目标项目中,bitcode 设置位于构建设置下的构建选项中,但对于 watchOS 目标,它位于构建设置下的用户定义设置中。

当我尝试将其值设置为 yes 并继续存档构建时,在导出 IPA 文件时它会显示目标的内容,其中始终显示 bitcode 不包括在内。为什么即使设置了 yes 值也会发生这种情况,我完全糊涂了。

我想仅为 watchOS 目标设置 bitcode 值为 yes。

谢谢

【问题讨论】:

    标签: ios iphone watchkit bitcode xcode9.1


    【解决方案1】:

    因为我已经解决了这个问题,解决了一个可能会给像我这样的其他人带来很大压力的小困惑。 Apple 表示:对于 iOS 应用程序,bitcode 是默认设置,但可选。对于 watchOS 和 tvOS 应用程序,需要位码。如果您提供 bitcode,则 app bundle 中的所有应用和框架(项目中的所有目标)都需要包含 bitcode。 因此,如果您的应用没有针对 WatchOS(在我的情况下为 watchOS4 版本)的目标,则可以根据您的要求启用或禁用位码设置。但无论如何,如果您的应用程序中有 watchOS 目标,那么您别无选择,只能为整个应用程序目标启用位码,然后只有苹果才能接受您的 Appstore 构建。

    如果您启用 watchOS 目标的位码并禁用其他目标的位码设置,则构建可以存档,但构建内的位码设置将始终显示“未包含”并且苹果拒绝它。

    如果您使用旧的第三方库,则在启用位码后,您必须将每个库更新到支持位码的版本,它也包括 pod。所以要小心它,因为如果你的应用程序太旧而且太庞大,这不是一件容易的事。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-10
    • 2011-03-21
    • 2018-03-01
    • 2020-10-03
    相关资源
    最近更新 更多