如何使用 Swift 2.3 构建 Realm?

How to build Realm using Swift 2.3?

我已经通过

将工具链更改为 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为是(如果为 Swift 2.3 构建)或否(如果为 Swift 3 构建)。

所说。

但是我得到的还是swift3.0版本。

有什么想法吗?


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

要使用 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 变量。

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

export 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 作品。

the toolchain info is in /Applications/Xcode-beta.app/Contents/Developer/Toolchains/Swift_2.3.xctoolchain/ToolchainInfo.plist