我如何看到我正在使用哪个版本的Swift?

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

我如何在Xcode或terminal中看到我在项目中使用的是什么版本的Swift?

项目构build设置有一个“Swift编译器 – 语言”块,它以键值格式存储有关Swift语言版本的信息。 它会告诉你所有可用的(支持的)你的Xcode的Swift语言版本和活动版本也可以通过刻度标记。

项目►(select您的项目目标)►构build设置►(在search栏中键入'swift')Swift编译器语言►Swift语言版本►单击语言列表将其打开。

看看这个快照,以便于理解:

在这里输入图像说明

我在terminal上说的是:

$ xcrun swift -version 

Xcode 6.3.2的输出是:

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

当然,假设你的xcrun正确地指向你的Xcode副本。 如果像我一样,你正在玩弄几个版本的Xcode,这可能是一个担心! 确保它是,说

 $ xcrun --find swift 

看看它显示给你的Xcode的path。 例如:

 /Applications/Xcode.app/... 

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

打开terminal并写下:

 swift -version 

从Xcode 8.3开始, Build Settings具有关键的Swift Language Version ,其值为您的目标正在使用的swift版本。

对于较旧的Xcode,使用此解决scheme,打开terminal并键入以下命令(s)

情况1:您只安装了一个Xcode应用程序

 swift -version 

案例2:您已经安装了多个Xcode应用程序

  • 切换active developer directory (将Xcode_7.3.app从您的Xcode应用程序文件名称replace为您要检查其快速版本的Application目录)

      sudo xcode-select --switch /Applications/Xcode_7.3.app/Contents/Developer 
  • 然后

      swift -version 

注意:从Xcode 8到Xcode 8.2.x,即使Xcode 8使用swift 3.x作为默认的swift版本,也可以使用swift 2.3。 要使用swift 2.3,只需打开标志Use Legacy Swift Language VersionYES Build Setting和XCode将使用Swift 2.3该项目的目标。

这个书签帮助我: https : //www.reddit.com/r/swift/comments/4o8atc/xcode_8_which_swift/d4anpet

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

好老的reddit 🙂

你可以看到并select在哪个Swift版本中使用Xcode:

目标 – > 生成设置 – > Swift语言版本

在这里输入图像说明

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