2017-10-18 59 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)。 檢查/設置你的目標在大廈設置版本 - 斯威夫特語言版本

相關問題