Xcode 9.0和Firebase 5.0.4上的无效位码版本

时间:2018-07-07 01:53:20

标签: ios xcode firebase

我有一个使用Firebase Analytics 5.0.4(最新)的项目。当我使用开发模式构建项目时,一切正常。但是当我的项目存档时,我遇到了麻烦。 Xcode通知我:

  

“无效的位码版本(生产者:'902.0.39.1_0'阅读器:'900.0.39.2_0'),对于架构arm64使用libLT0版本'LLVM版本9.0.0,(clang-900.0.39.2)'”。 / p>

我使用Xcode 9.0,因为Firebase表示它们支持xcode 9.0及更高版本。

我认为它与Xcode版本有关,因此我使用Xcode 9.2而不是Xcode 9.0,但是此错误没有改变。如果我使用Xcode 9.3或9.4,可以正常工作吗?

请告诉我一个解决方法。

2 个答案:

答案 0 :(得分:1)

我也看到过同样的错误。

您必须运行Xcode 9.3或更高版本,以避免出现此位代码消息。这可能意味着必须先将MacOS版本升级到High Sierra,才能到达那里。

该错误是因为在您所处的情况下,Firebase 5.0.4是使用比iOS应用程序更新的编译器库构建的。 Xcode升级将使一切恢复同步,并允许归档构建流程再次完成。

当然,临时的解决方法是禁用位码。但这是临时的创可贴解决方案,不建议用于现代应用程序商店发布。

答案 1 :(得分:0)

答案很晚,但对其他人可能会有帮助。

这里的问题是,其中一个依赖项是使用Xcode 9.3+的较新版本构建的。因此,如果您要使用Xcode的较新版本-您将不会遇到此问题。

但是,如果由于某些原因要解决此问题并使用Xcode 9.2,则需要查找使用较新的Xcode构建的依赖项,并切换到较旧的版本(例如,通过在依赖项管理器中指定确切版本,例如: pod'Crashlytics','3.10.1'或github“ Alamofire / Alamofire” == 4.7.2(针对迦太基)。

另一个可能导致此错误的情况是在计算机上使用多个版本的Xcode。例如,您可以使用Xcode 9.3+构建Carthage依赖项,然后尝试在Xcode 9.2中归档项目。在这种情况下,只需执行xcode-select并选择适当的SDK。