昨天我开始从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.
实际上,对于我的每一个嵌入式框架,我都得到了许多相同的消息。
我确实使用比特码,并且我没有在我的项目中更改任何相关的比特码。这似乎是一个新的ITMS需求(或bug)。我不知道如何修复它。
看起来这个问题神秘地与深圳或BuddyBuild之类的CI工具有关。或者,它可能与依赖项包含预编译代码的情况有关。
以防万一,我的应用程序:
- 具有以下依赖项,这些依赖项具有预编译代码:BuddyBuildSDK、Firebase和CardIO
- 用Swift写的
- 具有iOS键盘扩展
- 使用BuddyBuild
- 使用CocoaPods
更新:
我几乎什么都没改变,昨天问题就消失了。我不知道为什么。我相信苹果刚刚修复了这个错误,或者这是一个侥幸的问题。
我在一些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
在这里找到:使用Xcode7禁用项目和椰子依赖项的位代码?
只需在git card.io库中注册一个问题:https://github.com/card-io/card.io-iOS-SDK/issues/205
我希望尽快解决这个问题!