我刚刚在Xcode中创建了一个新的Swift项目。我想知道它使用的是哪个版本的Swift。

我如何在Xcode或终端中看到我在项目中使用的Swift版本?


当前回答

/usr/bin/swiftc --version

和swift版本<——> Xcode版本

其他回答

关于如何在Xcode 12中点击几下就能找到你的项目使用的Swift版本的更新答案,以帮助像我这样的新手。

点击你的项目(左边面板的顶级蓝色图标) 点击构建设置(项目>头中的第5项) 向下滚动到Swift编译器-语言,并查看下拉菜单。

要查看在您的机器上安装的swift默认版本,然后从命令行输入以下命令:

swift --version

Apple Swift版本4.1.2 (clang- 902.0.54) 目标:x86_64-apple-darwin17.6.0

这很可能是你已经安装的Xcode应用商店版本中包含的版本(除非你已经更改了它)。

如果你想确定一个特定版本的Xcode(比如测试版)使用的Swift的实际版本,那么从命令行调用Xcode包中的Swift二进制文件,并将参数——version传递给它

/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift --version

Apple Swift 4.2版本(swiflang -1000.0.16.7 clang-1000.10.25.3) 目标:x86_64-apple-darwin17.6.0

我所做的就是在终点站说

$ xcrun swift -version

Xcode 6.3.2的输出是:

Apple Swift version 1.2 (swiftlang-602.0.53.1 clang-602.0.53)

当然,前提是你的xrun正确指向你的Xcode副本。如果你像我一样,同时使用多个版本的Xcode,那就太麻烦了!确保它是,比如说

$ xcrun --find swift

看看它显示的Xcode路径。例如:

/Applications/Xcode.app/...

如果这是你的Xcode,那么-version的输出是准确的。如果你需要重新指向xcrun,使用Xcode的位置首选项窗格中的命令行工具弹出菜单。

选择您的项目 建立设置 搜索“swift language” 现在您可以看到您在项目中使用的swift版本

https://i.stack.imgur.com/Ojn3m.png

额外的贡献: 我正在使用一个自定义node.js脚本来提取一个干净的字符串用于Jazzy文档。如果你能找到一个地方将其运用到你的开发过程中,你可能会用到它:

从Bash脚本调用:

#!/bin/bash
swiftversion=$(node SwiftVerSlicer.js "${xcrun swift -version}");
echo $swiftversion

SwiftVerSlicer.js:

// begin script
const inputString = `${process.argv[2]}`
let searchTerm = (inputString.indexOf('(') - 1)//-1 cause whitespace
let version = inputString.slice(0,searchTerm)
console.log(version)
// end script

当然,你也可以使用regex,但你可以随心所欲:]