ITMS-90668 - 无效的Bundle Executable.可执行文件包含不完整的bitcode

Val*_*gin 14 itunesconnect ios bitcode

昨天我开始从iTunes Connect收到奇怪的错误消息:

ITMS-90668
Invalid Bundle Executable.
The executable file '...' contains incomplete bitcode.
To compile binaries with complete bitcode, open Xcode and choose Archive in the Product menu.
Run Code Online (Sandbox Code Playgroud)

实际上,我为每个嵌入式框架收到许多相同的消息.

我确实使用Bitcode,我没有在我的项目中改变任何与Bitcode相关的东西.这似乎是一个新的ITMS要求(或bug).我不知道如何解决它.

看起来这个问题神秘地与深圳或BuddyBuild等CI工具有关.或者,它可能与依赖项包含预编译代码的情况有关.

以防万一,我的应用程序:

  • 这些依赖项具有预编译代码: BuddyBuildSDK,Firebase,CardIO.
  • 用Swift写的.
  • 有iOS键盘扩展.
  • 使用BuddyBuild.
  • 使用CocoaPods.

更新:

我几乎什么都没改变,然后问题确实在昨天消失了.我完全不知道为什么.我相信Apple只是修复了这个bug或者是侥幸问题.

小智 4

我在某些 pod 依赖项上也遇到了同样的问题。我更改了导致问题的每个 pod 项目的“启用位码”构建设置(遵循 itunesconnect 的错误描述)。现在一切正常了。

您可以在 Podfile 中设置它。下面是针对每个依赖项进行更改的示例:

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['ENABLE_BITCODE'] = 'NO'
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

在这里找到:使用 Xcode7 禁用项目和 cocoapods 依赖项的位码?