我刚刚在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,但你可以随心所欲:]

其他回答

这篇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中可用(还没有检查旧版本)

如果有人正在寻找基于Xcode版本的Swift版本的快速一对一映射:

Xcode 13.4.1 :      Swift version 5.6.1

Xcode 13.2   :      Swift version 5.5.2

Xcode 12.5   :      Swift version 5.4.2

Xcode 12.3   :      Swift version 5.3.2

Xcode 12.2   :      Swift version 5.3.1

Xcode 11.6   :      Swift version 5.2.4

Xcode 11.5   :      Swift version 5.2.4

Xcode 11.4   :      Swift version 5.2

Xcode 11.3   :      Swift version 5.1.3

Xcode 11.2.1 :      Swift version 5.1.2

Xcode 11.1   :      Swift version 5.1

在不同的Xcode版本中运行以下命令获得:

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

嗨朋友代码类型在终端 斯威夫特- v

欢迎使用Apple Swift 5.2.4版本(swiftlang-1103.0.32.9 clang-1103.0.32.53)。