【问题标题】:How to build Realm using Swift 2.3?如何使用 Swift 2.3 构建 Realm?
【发布时间】:2016-12-17 17:25:23
【问题描述】:

我已经通过

将工具链更改为 swift 2.3

export PATH=/Applications/Xcode-beta.app/Contents/Developer/Toolchains/Swift_2.3.xctoolchain/usr/bin:"${PATH}"

并且做到了

打开 Xcode 项目 -> 点击 Realm 项目 -> RealmSwift 目标 -> 'Build Settings' 选项卡 -> 将 Use Legacy Swift Language Version 设置为 Yes(如果为 Swift 2.3 构建)或 No(如果为 Swift 3 构建)。

正如Build realm for Swift 3 & Xcode 8 所说。

但我得到的仍然是 swift 3.0 版本。

有什么想法吗?


我查看了 build.sh,发现导出路径不像 xcrun swift 那样工作,realm 使用它来获取 swift 版本,它仍然是 2.2 或 3.0,具体取决于使用的工具链。

【问题讨论】:

  • 你是如何尝试构建 Realm 的?在 Xcode 中使用 CocoaPods、Carthage,还是使用 Realm 的 build.sh 脚本?
  • @bdash 我在 Realm 文件夹中使用了 build.sh。
  • 考虑 CocoaPods/Carthage,集成 Realm 需要 3 秒。

标签: swift swift2 realm building


【解决方案1】:

要使用 Swift 2.3 从 master 分支构建 Realm,在构建时将 REALM_SWIFT_VERSION 环境变量设置为 2.3。例如,为 OS X 构建:

REALM_SWIFT_VERSION=2.3 sh build.sh osx

Realm 的构建脚本将根据 REALM_SWIFT_VERSION 环境变量的值来确定要使用的 Xcode 版本,因此无需修改您的 PATH 变量。

【讨论】:

  • 对于 ios 是:REALM_SWIFT_VERSION=2.3 sh build.sh ios-swift ??
【解决方案2】:

我选择了@bdash 答案作为最佳答案。但是,如果您想在命令行中继续使用 swift 2.3。你可以这样做

导出 TOOLCHAINS=com.apple.dt.toolchain.Swift_2_3

然后使用

sh build.sh osx-swift

@bdash 回答只影响领域。所以我觉得它比我的好。我的回答受到 Keith Smiley 的启发,他指出我可以使用

xcrun --toolchain "com.apple.dt.toolchain.Swift_2_3" swiftc -v

获得 2.3 作品。

工具链信息在 /Applications/Xcode-beta.app/Contents/Developer/Toolchains/Swift_2.3.xctoolchain/ToolchainInfo.plist 中

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多