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

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


当前回答

额外的贡献: 我正在使用一个自定义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,但你可以随心所欲:]

其他回答

要查看在您的机器上安装的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

从Xcode 8.3开始,构建设置有关键的Swift语言版本,其值为目标使用的Swift版本。

对于旧的xcode使用这个解决方案, 打开终端并输入以下命令

案例1:你只安装了一个Xcode App

swift -version

案例2:你已经安装了多个Xcode应用

切换活动开发人员目录(替换Xcode_7.3.;应用程序从 下面的命令与你的Xcode应用程序文件名从应用程序目录,你想要的 查看swift版本) sudo xcode-select——switch /Applications/Xcode_7.3.app/Contents/Developer . exe 然后 斯威夫特- version

注意:从Xcode 8到Xcode 8.2。你可以使用swift 2.3,即使Xcode 8使用swift 3。默认swift版本为X。要使用swift 2.3,只需在构建设置中将“使用传统swift语言版本”的标志打开为YES, XCode将对该项目目标使用swift 2.3。

这篇reddit帖子帮助了我: https://www.reddit.com/r/swift/comments/4o8atc/xcode_8_which_swift/d4anpet

Xcode 8默认使用Swift 3.0。但你可以打开Swift 2.3。转到项目的构建设置,并将“使用传统Swift语言版本”设置为YES。

好老reddit:)

你可以看到并选择Xcode使用的Swift版本:

目标->构建设置-> Swift语言版本:

这在Xcode 8.3和Xcode 9中可用(还没有检查旧版本)

打开终端并写入:

swift -version