我刚刚在Xcode中创建了一个新的Swift项目。我想知道它使用的是哪个版本的Swift。
我如何在Xcode或终端中看到我在项目中使用的Swift版本?
我刚刚在Xcode中创建了一个新的Swift项目。我想知道它使用的是哪个版本的Swift。
我如何在Xcode或终端中看到我在项目中使用的Swift版本?
当前回答
从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。
其他回答
项目构建设置有一个块'Swift Compiler - Languages',它以键值格式存储关于Swift语言版本的信息。它会显示你所有可用的(支持的)Swift语言版本为你的Xcode和活动版本也通过一个标记。
项目►(选择你的项目目标)►构建设置►(类型 Swift编译语言►Swift语言 版本►点击语言列表打开它(在列表中的任何一个项目上都会有一个标记,这将是当前的swift版本)。
为了便于理解,请看这张快照:
在以下代码的帮助下,您可以通过编程方式找到您的项目支持的Swift版本。
#if swift(>=5.7)
print("Hello, Swift 5.7")
#elseif swift(>=5.6)
print("Hello, Swift 5.6")
#elseif swift(>=5.5)
print("Hello, Swift 5.5")
#elseif swift(>=5.4)
print("Hello, Swift 5.4")
#elseif swift(>=5.3)
print("Hello, Swift 5.3")
#elseif swift(>=5.2)
print("Hello, Swift 5.2")
#elseif swift(>=5.1)
print("Hello, Swift 5.1")
#elseif swift(>=5.0)
print("Hello, Swift 5.0")
#elseif swift(>=4.2)
print("Hello, Swift 4.2")
#elseif swift(>=4.1)
print("Hello, Swift 4.1")
#elseif swift(>=4.0)
print("Hello, Swift 4.0")
#elseif swift(>=3.2)
print("Hello, Swift 3.2")
#elseif swift(>=3.0)
print("Hello, Swift 3.0")
#elseif swift(>=2.2)
print("Hello, Swift 2.2")
#elseif swift(>=2.1)
print("Hello, Swift 2.1")
#elseif swift(>=2.0)
print("Hello, Swift 2.0")
#elseif swift(>=1.2)
print("Hello, Swift 1.2")
#elseif swift(>=1.1)
print("Hello, Swift 1.1")
#elseif swift(>=1.0)
print("Hello, Swift 1.0")
#endif
下面是使用Playground的结果(使用Xcode 11.x)
我使用Swift从谷歌Colab。下面是如何在Colab中检查它。
!/swift/toolchain/usr/bin/swift --version
结果是5.0-dev
您将在项目设置下得到这个
你可以看到并选择Xcode使用的Swift版本:
目标->构建设置-> Swift语言版本:
这在Xcode 8.3和Xcode 9中可用(还没有检查旧版本)
选择您的项目 建立设置 搜索“swift language” 现在您可以看到您在项目中使用的swift版本
https://i.stack.imgur.com/Ojn3m.png