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

时间:2016-05-27 22:18:39

标签: ios itunesconnect 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.

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

我确实使用Bitcode,而且我的项目中没有更改任何与Bitcode相关的内容。 这似乎是一个新的ITMS要求(或bug)。我不知道如何解决它。

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

以防万一,我的应用:

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

更新

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

2 个答案:

答案 0 :(得分:3)

我遇到了一些pod依赖项的问题。我为每个导致问题的pod项目更改了“Enable Bitcode”构建设置(遵循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

在此处找到:Disable bitcode for project and cocoapods dependencies with Xcode7?

答案 1 :(得分:-1)

只需在git card.io库中注册一个问题: https://github.com/card-io/card.io-iOS-SDK/issues/205

我希望尽快解决这个问题!