如何在 Xcode8 上使用 Swift 2.2?

Posted

技术标签:

【中文标题】如何在 Xcode8 上使用 Swift 2.2?【英文标题】:How can I use Swift 2.2 on Xcode8? 【发布时间】:2016-09-14 12:29:02 【问题描述】:

我有一个关于 Swift2.3XCode7 的项目。效果很好。

当我将其更新为 XCode8Swift3 后,该项目在模拟器上没有显示任何内容,所以我决定至少在目前使用 Swift2.2 on Xcode8(我有一份Swift2.2 中的项目),但它给了我以下错误:

需要为使用 Swift 的目标正确配置“使用旧版 Swift 语言版本”(SWIFT_VERSION)。使用 [Edit > Convert > To Current Swift Syntax...] 菜单选择 Swift 版本或使用 Build Settings 编辑器直接配置构建设置。

我已尝试转到Build Settings > Use Legacy Swift Language Version 并将默认值从Unspecified 更改为No,但错误仍然出现。

此外,我只有三个可能的值可供选择:YesNoUnspecified,但它们都无法修复错误。与SWIFT_VERSION 值无关。

如何在XCode8 上继续使用Swift2.2 而不会出现任何错误?

编辑:这里有一张关于我实际拥有的选项的图片:

编辑 2: 我知道这个问题 Use Swift 2.2 in Xcode 8? 但正如您在上图中看到的那样,我没有选项 SWIFT_VERSION 所以出现在那里的唯一答案不适用于我。

提前致谢!

【问题讨论】:

您必须为每个目标设置 Swift 版本 - 如果您使用 CocoaPods,也适用于 Pods 中的框架 您在 Xcode 7 中使用 Swift 2.2,而不是 2.3。 @DejanSkledar 我在哪里可以设置它? 在构建设置中 @DejanSkledar 我不知道您是否指的是“ios 部署目标”,但我有 iOS 9.3 版本来定位它(我在上一个项目中拥有的最新版本)。我看不到有关版本的选项。 【参考方案1】:

您必须在其中输入值2.3

http://imgur.com/a/pcLIJ

【讨论】:

你说“那里”是什么意思? Build Settings > Use Legacy Swift Language Version 中用于您的目标或项目本身。 我有DebugRelease 选项。但其中任何一个都让我选择 2.3 版本。我想我遗漏了一些东西,因为你们都指的是同一个选项,而我看不到该选项中的任何相关内容。 我已经用我拥有的选项的图像编辑了我的问题。我无法在您设置的位置设置 3.0。 你能删除调试和发布的多个值吗?我猜你无论如何都不会为每个部署使用不同的值。

以上是关于如何在 Xcode8 上使用 Swift 2.2?的主要内容,如果未能解决你的问题,请参考以下文章

在 Swift 中使用 isKindOf [重复]

Xcode8使用CoreData如何生成OC和Swift版的SubClass

如何在 XCode 8 Playgrounds 中使用 Swift 2.3?

如何更改xcode 8.3.3(swift3)的语言设置[重复]

无法在 Swift 3 中使用闭包语法

如何从 Swift 3 xcode8 的 UIWebView 中的 url 获取查询字符串参数?