gpt4 book ai didi

ios - 迦太基构建失败

转载 作者:搜寻专家 更新时间:2023-10-30 22:04:31 25 4
gpt4 key购买 nike

我运行 carthage bootstrap --platform iOS 并得到“由于错误而跳过安装 realm-cocoa.framework 二进制文件:不兼容的 Swift 版本 - 框架是用 3.1 构建的,本地版本是 4.0” ,然后在构建结束时,我得到了一个完整的“构建失败:任务失败,退出代码 65”错误。

它将我指向 derivedDataPath,我检查了 xcodebuild 日志以获取更多详细信息,它让我知道“PhaseScriptExecution Download\Core\and\Sync/Users/user/Libary/缓存/org.carthage.CarthageKit/DerivedData/9.0_9A###/realm-cocoa/v2.10.2/Build/Intermediates.noindex/Realm.build/Release-iphoneos/Realm.build/Script-X#X#X# X#X.sh(1 次失败)”。

但我仍然不完全确定 Realm Cocoa 到底发生了什么,或者如何解决,您知道吗?

最佳答案

TL;DR:确保您使用的是 Xcode 附带的最新 Swift 版本,然后执行 carthage bootstrap --no-use-binaries --platform iOS --cache -构建

长版:

你在构建项目时从 Xcode 得到的错误,Incompatible Swift version - framework was built with 3.1 and the local version is 4.0,是由于 Carthage 执行的下载以获得预Realm Framework 的内置版本(这是一个节省时间的功能,但有时会出现像这样的版本不兼容问题)。

这个下载的预构建框架是用以前版本的 Swift 编译的(在这种情况下,错误指向使用了 v3.1。)这个错误的解决方案是使用不同的命令执行依赖项安装过程:

carthage bootstrap --platform iOS --no-use-binaries

这将有助于项目依赖项构建成功。无论如何,这可能需要很长时间,因为每次执行命令时,它都会从核心构建 Realm.framework 和 RealmSwift.framework。因此可以为 Carthage 上的构建启用本地缓存。可以安装依赖项

carthage bootstrap --no-use-binaries --platform iOS --cache-builds

有了这个选项,迦太基将:

  • bootstrap,因此将使用 Cartfile.resolved 中的版本,不会更新。
  • --no-use-binaries 在不下载预构建框架的情况下构建依赖项(避免版本不兼容。)
  • --platform iOS 将构建仅在 iOS 上使用的依赖项,避免为 Apple TV 或 Mac OS 构建框架,以防依赖项支持它。这会节省很多时间!
  • --cache-builds 将使 Carthage 能够在本地缓存中存储您构建的依赖项(并在需要时使用它),因此即使您再次执行该命令,它也只会复制您的存储框架,避免另一个耗时的构建过程。

关于ios - 迦太基构建失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46835129/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com