2017-10-18 60 views
5

我对Swift还不太熟悉(少于1整年),而且我不确定如何在新的Xcode中每年更新到最新的Swift。我的项目已在Xcode 8Swift 3.2下启动。现在我升级了Xcode 9,这是AFAIU支持Swift 4更新到Xcode 9和Swift 4

因为我使用的是Cocoapods,我明显地将所有的豆荚更新为最新版本,我相信这是正确的行为。

但是,我发现目标设置中的Swift version仍设置为Swift 3.2这到底意味着什么?我应该改为Swift 4吗?或者这就像我必须根据代码编写的最低版本?

另外,我有2警告项目:

enter image description here

Regardings ,很显然,Cocoapods会解决这个问题,所以NP。

我的工作空间怎么样?我的目标生成没有错误和警告,我不知道为什么它告诉我有关转换?它不应该用代码告诉文件中的确切的一行吗?

请描述什么是最新的Swift更新的正确流程,以及这是如何与一些未更新到最新Swift的Pod一起使用。我会被迫删除它们,或者像fork一样手动更新到最新的Swift吗?

回答

4

升级Xcode版本,不会更改/升级您的Swift编程语言版本 。这些警告显示,您当前的Swift编程语言版本不是4.0(它低于4.0即3.2)。

(另请注意,Xcode的9和8.3都支持雨燕3.2,你可以使用雨燕3.2和Xcode 9工作也。)

所以,如果你在Xcode 9打开你的Xcode 8.x的项目,将与Swift版本3.2一起工作。

手动您需要从项目构建设置中将Swift 3.2更改为4.0。

这里是 - 如何查看当前的Swift语言版本并将其更改为新的。

enter image description here

另外请注意:一旦你改变你迅速语言确保以下步骤:

  • 您必须更新/升级可可豆荚(CocoaPods)
  • 更新项目的POD库/文件(使用命令pod installpod update

为了更容易的移植, ESE答案:

(Xcode中)菜单:编辑►隐蔽►到当前斯威夫特语法

enter image description here

+0

IC,但无论如何,对于未来的Xcode 10,我想,这是更好地更新斯威夫特4.关于更新荚我有一个问题。那么如果pod没有更新到Swift 4呢?我能使用它吗?或者我将不得不将项目/目标降级到Swift 3.2? –

+0

@StasIvanov是的,pod会自动识别你的可可豆版本和Swift编程语言版本。并自动从源文件下载相关文件/库 – Krunal

+0

@StasIvanov截至目前,对于现有项目,使用Swift 3.2(不要与4.0一起工作)会更好。您可以为新项目选择Swift 4.0。 – Krunal

1

您不必转换您项目到Swift 4X代码9也支持Swift 3.2

如果你想你的项目转换为斯威夫特4,用途:

  • 编辑 - >转换 - >到当前斯威夫特语法

您还可以使用版本(例如,某些吊舱不必准备好Swift 4)。 检查/设置你的目标在大厦设置版本 - 斯威夫特语言版本

相关问题