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

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

推荐答案

项目生成设置有一个块"Swift编译器-语言",它以键值格式存储有关Swift语言版本的信息.它将显示所有可用(支持)的用于Xcode的Swift语言版本和活动版本,并用记号标记.

项目► ( Select 你的项目目标)► 构建设置► (类型

为了便于理解,请查看此快照:

xcode with described areas highlighted


在以下代码的帮助下,您可以通过编程方式找到项目支持的Swift版本.

#if 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)

enter image description here

Swift相关问答推荐

DynamicView Content的修改视图?

传递给SWIFT ResultBuilder的闭包中结果类型的对象

Swift C外部实现的Task / Future类类型

NSWindow中以编程方式创建的TextField快捷方式与SwiftUI

SWIFT闭包使用的是陈旧的值,即使它是S@转义

是否在字符串属性上搜索数组和子数组?

ARRaycast Query和前置摄像头(ARFaceTrackingConfiguration)

SwiftData/PersistentModel.swft:540:致命错误:不支持的关系密钥路径ReferenceWritableKeyPath

设备上ScrollView为什么会将内容高度更改为随机值,而在预览上不会? - 优化后的标题:设备上ScrollView内容高度随机变化问题解决

Swift iOS:确定贝塞尔曲线路径是否与 UIView 框架相交?

在 RealmSwift 中表示范围值?

使用 WrappingHStack 文本溢出到新行

使用列表的下一项更新相同的视图

将内容与工作表顶部而不是中间对齐

如何让不同的组件拥有不同的动画?

如何在 RxSwift 中获取 controlEvent 类型?

如何让 UIKit 挤压你的视图,使其适合屏幕

Swift 4 Decodable - 以枚举为键的字典

即使设置为从不也可以访问 iOS11 照片库

如何快速将弹出框调整为表格视图中内容的大小?