我们知道Xcode 8 beta 同时提供了Swift 3.0 和Swift 2.3来供我们选择。并且我们还知道,可以在Xcode的偏好里,选择对应的工具,如图1-1所示。
图1-1 在Xcode中选择命令行工具
此时,在终端中查看swift的版本,会是3.0的,如图1-2所示。
代码 1-2 终端查看Swift版本
~ zhaoxin$ swiftc -v
Apple Swift version 3.0 (swiftlang-800.0.42.1 clang-800.0.36.1)
Target: x86_64-apple-macosx10.9
~ zhaoxin$ xcrun swiftc -v
Apple Swift version 3.0 (swiftlang-800.0.42.1 clang-800.0.36.1)
Target: x86_64-apple-macosx10.9
Swift.org官方给出的建议是使用添加环境变量的方式。
$ export PATH=/Library/Developer/Toolchains/swift-latest.xctoolchain/usr/bin:"${PATH}"
但是这样做只会影响swiftc,不会影响xcrun swiftc。
~ zhaoxin$ export PATH=/Applications/Xcode-beta.app/Contents/Developer/Toolchains/Swift_2.3.xctoolchain/usr/bin:"${PATH}"
$ swiftc -v
Apple Swift version 2.3 (swiftlang-800.10.11 clang-800.0.36)
Target: x86_64-apple-macosx10.9
$ xcrun swiftc -v
Apple Swift version 3.0 (swiftlang-800.0.42.1 clang-800.0.36.1)
Target: x86_64-apple-macosx10.9
阅读xcrun的帮助,我们可以发现:
--toolchain <name>
Specifies which toolchain to use to perform the lookup. If no
--toolchain argument is provided, then the toolchain to use will
be taken from the TOOLCHAINS environment variable, if present.
OK