我刚刚在Xcode中创建了一个新的Swift项目。我想知道它使用的是哪个版本的Swift。
我如何在Xcode或终端中看到我在项目中使用的Swift版本?
我刚刚在Xcode中创建了一个新的Swift项目。我想知道它使用的是哪个版本的Swift。
我如何在Xcode或终端中看到我在项目中使用的Swift版本?
我所做的就是在终点站说
$ 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的位置首选项窗格中的命令行工具弹出菜单。
从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:)
项目构建设置有一个块'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默认版本,然后从命令行输入以下命令:
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
额外的贡献: 我正在使用一个自定义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从谷歌Colab。下面是如何在Colab中检查它。
!/swift/toolchain/usr/bin/swift --version
结果是5.0-dev
只要在终端中输入swift命令,它就会显示版本,同时登录到swift控制台。(如下所示)
System-IOSs-MacBook-Air swift
Welcome to Apple Swift version 5.1 (swiftlang-1100.0.270.13 clang-1100.0.33.7).
Type :help for assistance.
选择您的项目 建立设置 搜索“swift language” 现在您可以看到您在项目中使用的swift版本
https://i.stack.imgur.com/Ojn3m.png
如果有人正在寻找基于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
关于如何在Xcode 12中点击几下就能找到你的项目使用的Swift版本的更新答案,以帮助像我这样的新手。
点击你的项目(左边面板的顶级蓝色图标) 点击构建设置(项目>头中的第5项) 向下滚动到Swift编译器-语言,并查看下拉菜单。
嗨朋友代码类型在终端 斯威夫特- v
欢迎使用Apple Swift 5.2.4版本(swiftlang-1103.0.32.9 clang-1103.0.32.53)。
如果你想检查swift的特定版本的运行代码,你可以使用
#if compiler(>=5.1) //4.2, 3.0, 2.0 replace whatever swft version you wants to check
#endif
您可以在终端上执行命令
xcrun swift -version
or
你可以参考下表查看哪个Xcode使用了哪个版本的swift语言。
Xcode 13.4.1 : Swift version 5.6.1
Xcode 13.3 : Swift version 5.6
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