VSTS Build Generation无法正常工作

要为测试人员生成构建,我们在项目中使用VSTS。 当我们签出并使用xcode在我们的Mac中运行分支时,它工作正常。 但是当我尝试通过VSTS发布一个构建时,它会抛出如下错误并且构建失败。

ld:无法重新解析bitcode包中的目标文件:’无效的bitcode版本(生产者:’902.0.39.2_0’Reader:’900.0.39.2_0’)’,使用libLTO版本’LLVM版本9.0.0,(clang-900.0。 39.2)’用于架构arm64

我知道问题可能是因为有两个不同版本的编译器闲置。 我正在使用Xcode 9.2,构建上传源代码的服务器也有Xcode 9.2。 还有一件事是,在过去我已经将beta Xcode版本9.4提交到分支机构。 这可能会产生问题,还是我在这里缺少的其他东西。

此外,我听到一些堆栈溢出和git建议,更新Xcode将解决问题。 我对此很好,但是想要将该选项作为最后一个,因为有一些服务器和构建在服务器中排队,如android和WebApp构建,我们已经通过VSTS自动化,这将暂时停止。

任何帮助或指针都非常感谢。

当我尝试使用二进制框架(在我的案例中为Crashlytics / Fabric)创建项目存档时,它发生在我身上。 该框架是使用Xcode 9.4编译的,但我使用的是Xcode 9.2(看起来像900.0.39.2_0是Xcode 9.2而902.0.39.2_0是Xcode 9.4)。 我通过在Build Settings中暂时将Enable Bitcode设置为No来解决它。

另一种解决方案是将二进制框架降级为旧版本 (使用兼容版本的Xcode构建)。

找到了我面临的问题的解决方案。 正如问题所述,VSTS服务器的Xcode 9.2具有900.0.39.2_0,因此更新了vsts服务器中的xcode版本修复了该问题。 我们需要注意的是,当我们更新本地机器中的xcode版本时,更好地更新VSTS服务器中的xcode版本以避免将来出现此类问题。