Xcode 11 Beta 5无法显示Swift 5.1

29

我从苹果官网下载了XCode 11,但我想将我的代码升级到Swift 5.1,但XCode没有给我这个选项。此外,我没有看到可用的iOS 13模拟器。我以前从未遇到过这个问题,所以我错过了什么?我的操作系统已更新为MacOS Catalina。

enter image description here

enter image description here

enter image description here


它是5.1版本,SwiftUI是基于Swift 5.1构建的,并且它依赖于许多关键功能,例如属性包装器、构建器等。 - Mojtaba Hosseini
1个回答

41

首先需要注意的是,“Swift语言版本”下拉菜单并不选择编译器版本,而是为编译器选择运行的兼容性模式(更多信息请参见此处)。

可以说在这种情况下,下拉菜单的标签名称存在误导,因为在Xcode 11中,“Swift 5”选项实际上意味着“Swift 5.1”。可以通过运行以下操作来证明这一点:

#if swift(<5.1)
print("Less than 5.1")
#else
print("At least 5.1")
#endif

你会发现打印出了至少5.1。有趣的是,这意味着实际上没有办法使用5.0兼容语言版本运行5.1编译器。


15
由于Xcode确实区分Swift 4和4.2,因此这很令人困惑。当我安装Xcode 11时,我期望看到的是Swift 5.1而不是Swift 5。 - Greg Brown
3
我猜选项不会超过5.0,因为从5.1开始有ABI稳定性。 - protspace
同样的问题也出现在 Xcode 12.3 上。它只显示 5.0。 - arango_86

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接