在Xcode 8中使用Swift 2.2?


72

是否可以在Xcode 8中使用Swift 2.2?

从Xcode 8发行说明:

“ Xcode 8支持切换工具链,例如来自swift.org的工具链,而无需重新启动Xcode。(23135507)”

我一直试图在swift.org网站上找到swift 2.2工具链,但是找不到。成功配置Xcode 8以使其与Swift 2.2一起使用


迁移到2.3有什么问题?
kennytm

想尝试使用Xcode 8进行开发,但仍然需要我的代码与Xcode 7兼容才能进行发行。
salabaha

1
Xcode 7中的Swift 2.2和Xcode 8中的Swift 2.3是兼容的。
吉姆(Jim

1
我不会说兼容。在Xcode 8中,情节提要板上的自动布局约束都没有任何作用。最终,我将不得不为应用程序重做整个布局。
DiggyJohn

@DiggyJohn我也有Xcode 8.0的自动布局兼容性问题。有谁知道从头开始自动布局是否是唯一的解决方案?
Murat Yasar

Answers:



57

如果要继续在Xcode 8中使用Swift 2,请通过启用“使用旧版Swift语言版本”构建设置(SWIFT_VERSION = 2.3)使用Swift 2.3 。


4
@EricD:swift.org/blog/swift-2-3:“Swift 2.2.1和Swift 2.3非常相似,主要的变化与SDK的差异有关。”
Martin R

2
我确实注意到有些项目已像桥接到Swift NSURL。在他们的Swift对应版本中,它们被标记为可选,因此我不得不强行强制使用它们。当我切换回Xcode 7.3时,它要求我移除强制力。
keji 2016年

7
OP要求Swift 2.2。您知道是否可以Swift 2.2在Xcode 8中使用吗?
NSTJ'9

27
伙计们,这个问题要求使Swift 2.2代码在Xcode 8.0中工作。为什么要为Swift 2.3进行解释?
Murat Yasar

2
它与Swift 2.2无关。我对这个答案不满意。如果您认为相同,请像我一样标记相应答案。
巴特洛梅耶Semańczyk

33

Swift的That Thing中的Xcode 8中的Swift 2.3的使用为Xcode 8中的Swift 2.3的使用提供了很好的介绍。

本文引用以下内容:

有一个单一的构建设置,使您可以继续使用Swift版本构建Swift项目,该版本的语法与Xcode 7中的现有项目在语法上最相似:Use Legacy Swift Language Version

只需进入项目的构建设置并搜索旧版swift即可找到正确的构建设置,然后将设置切换为YES以选择使用Swift 2.3,而不是Xcode 8中的Swift 3。

在此处输入图片说明


我的已经设置为“是”,但是我仍然收到“使用旧版快速版本错误”。足够奇怪,它不是来自项目。它来自UITest框架。
KMC

NVM,我只用了cdm + alt + shft + k,错误消失了。
KMC

6
在我的Xcode 8.3.2中,没有这样的设置。在下Swift Compiler,只有一个构建设置名为,Swift Language Version并且Swift 3是唯一选择。
雷击技巧'17

我做了同样的事情,但是仍然会遇到很多错误,请您分享解决问题的不同方法。
Chandni

3

作为解决此问题的一种可能的方法,我建议并排安装两个版本的Xcode(例如7.3.1和8)。

为此,您应该:

  1. 从适用于Apple Developers的下载中下载合适的dmg文件。使用搜索找到Xcode。
  2. 双击该文件以查看熟悉的“拖动以在应用程序文件夹中安装Xcode”窗口。但是将其拖到其他位置一会儿。桌面会很好。将其重命名为Xcode \ version of number \(例如Xcode 7.3.1),然后将其拖到Applications文件夹。

而已。


但您无法通过附加到Mac直接在iOS 10设备上运行它。
维沙尔


1

通过在“构建设置”中将“使用旧版Swift语言版本”设置为“是”,无法在XCode8中使用Swift2.2。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.