错误:无效的bitcode版本(生产者:'800.0.35.0_0'读者:'703.0.31_0')

时间:2016-08-10 13:40:04

标签: ios xcode ios9 xcode8

当我尝试在Xcode 7.3.1上存档我的应​​用程序时,我收到以下错误:

  

错误:无效的bitcode版本(生产者:'800.0.35.0_0'阅读器:   '703.0.31_0')clang:错误:链接器命令失败,退出代码为1   (使用-v查看调用)

我昨天能够成功归档我的应用程序,任何人都可以帮助我吗?

7 个答案:

答案 0 :(得分:26)

之前我有这个错误... 您可以尝试以下适合我的解决方案

在应用中搜索bitcode关键字 - >构建设置并将其更改为NO 然后再次存档 - >

它现在应该可以正常工作

enter image description here

答案 1 :(得分:13)

安装Xcode 8: https://developer.apple.com/download/

  

Xcode 8 GM种子可用于将应用程序提交到App Store。

更多信息: 在我的情况下,我更新到最新的Facebook iOS SDK 4.15.1。由于该库已使用Xcode 8更新,而我仍在使用Xcode 7.3.1,因此导致错误。

https://developers.facebook.com/docs/ios/change-log-4.x

  

针对Xcode 8 GM和iOS 10进行了更新。

所以,仔细检查第三方图书馆。

或者如果您不介意禁用bitcode: 转到构建设置搜索bitcode并将“启用Bitcode”更改为“否”。

答案 2 :(得分:8)

我也面临同样的问题,正如@Nate建议的那样, 问题是因为使用Cocoapods在我们的项目中集成了第三方SDK。

为了帮助我弄清楚我在项目中拥有的15个吊舱中的哪一个负责,我做了以下工作:

  1. 创建新的xcode项目
  2. 将Podfile从原始项目复制到新创建的项目目录
  3. 执行pod安装
  4. 删除一个或多个pods
  5. 归档新项目,看看是否成功,如果不重复步骤4,直到您能够归档
  6. ⋆(您也可以尝试二进制搜索,其中删除Podfile中的前半部分并查看新项目是否存档)

    一旦您找到导致问题的库,请通过在Podfile中显式指定版本来降级库,直到项目成功存档。 然后,您可以使用该版本的库进行存档并上传到应用商店。

答案 3 :(得分:3)

如果您使用的是lib或pod,意味着其中一个是由当前Xcode的更高版本构建的,则可以更新代码或返回到当前版本构建pod的先前版本。 如果您运行了pod更新,请检查如果您运行pod安装更新了pod,请检查pod的日期与Xcode的发布日期相比,这将导致您进入负责的pod。

我在使用Xcode 8.2.1和Xcode 8.3.1构建的pod构建时获得了它。

答案 4 :(得分:2)

我也遇到了这个错误:无效的bitcode版本(制片人:'800.0.24.1_0'读者:'703.0.31_0')我在google搜索了这么多,但无法找到合适的解决方案。我试过自己并解决了这个问题 在我的情况下,通过我们通常所做的拖放添加FBSDK后会发生此错误 您可以按照以下步骤解决此问题:

  1. 删除构建阶段中的所有 pod脚本
  2. 从项目中删除拖动的FBSdks文件。
  3. 退出xcode并删除3件“Pod文件夹”,“Podfile.lock”和“Projectworkspace”
  4. 在podfile中搜索并添加FBSDK pod链接
  5. 使用终端再次安装pod ....现在打开Xcode归档您的项目构建。

答案 5 :(得分:2)

良好的解决方案,但禁用bitcode适用于某些人。

编辑: - 它也适用于我。 但是如果您的项目是** Bitcode Disable **,将来您的应用可能会出现问题或(构建未经Appstore优化)。

  

Bitcode是编译程序的中间表示。您上传到iTunes Connect的包含bitcode的应用将在App Store上进行编译和链接。包括bitcode将允许Apple在将来重新优化您的应用二进制文件,而无需向商店提交新版本的应用。

     

注意:对于iOS应用,bitcode是默认设置,但是可选。如果你   提供bitcode,应用程序包中的所有应用程序和框架都需要   包括bitcode。 对于watchOS应用,需要使用bitcode

这就是为什么试图找到正确的错误解决方案。

答案 6 :(得分:1)

错误基本上表明:

静态链接器无法正确链接特定的位码束,即 使用Producer:“ 902.0.39.2”制作,正在使用Reader进行读取: '900.0.37'。

您可以查看https://gist.github.com/yamaya/2924292来标识相应编译器版本的Xcode版本。在当前情况下,阅读器(我们的Xcode版本)是Xcode 9.0,而生产者(通常是第三方SDK的Xcode版本)是Xcode 9.4。两者之间的不兼容是此问题的根本原因。

您可以:

  • 按照其他答案中的说明关闭位码,或者
  • 将SDK回滚到运行良好的先前版本,或者
  • 更新您的代码库以使用更新的Xcode版本。