ios – ITMS-90668 – 无效的软件包可执行文件.可执行文件包含不完整的位代码

昨天我开始从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要求(或错误).我不知道如何解决它.

看起来这个问题神秘地与CI工具如深圳或BuddyBuild有关.或者,也许与依赖关系包含预编译代码的情况相关.

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

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

更新:

我几乎没有改变,昨天的问题就消失了.我不知道为什么.我相信苹果只是修复了这个bug,或者是麻烦问题.

解决方法

我有一些pod依赖的问题.我改变了导致问题的每个pod项目的“启用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?

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...