2017-02-09 117 views
0

我目前工作的公司支持使用Swift 2.3編寫的舊版產品(我不同意它)。目前他們當前想要繼續推出支持舊版本的功能,因此,我目前對使用Swift 3.0編寫的pod具有約束力。將使用Swift 3.0編寫的模塊遷移到Swift 2.3?

我試圖通過安裝Xcode 7.3.1將語法轉換回Swift 2.3,目的是希望遷移該代碼。不幸的是,由於它是用Swift 3.0編寫的模塊,我的努力是徒勞的。

雖然我並不反對在Swift 2.3中編寫代碼,但我知道我會從長遠來看一個乏味的過程。我應該採取哪些步驟將用Swift最新版本編寫的模塊遷移回2.3版本?

+0

你試圖訪問的窗口有一個Swift 2的舊版本嗎?例如,我不小心使用了一個爲Swift 2.3設計的老版本的Alamofire,這個項目是我設置依賴項目的,而且我得到了舊版本的AF,因爲我在Podfile中複製了一些關於該版本的舊代碼。我相信如果舊模塊存在,您仍然可以訪問它。 – Pierce

+0

@Pierce不,它沒有。它是用Swift 3.0編寫的。我嘗試尋找具有較舊版本的豆莢,但該豆莢似乎根本沒有。我確實要聯繫存儲庫的貢獻者,他們確實提供了在Swift 2.3中編寫一個,但恐怕這對他們來說可能不是一個可行的事情+我並不真正期望他們對任何人。我想嘗試以最好的方式來操縱這個障礙,因爲它實際上是唯一一個可以滿足我正在進行的項目中的重要需求的吊艙。 – Alex7

回答

2

首先,您可以使用Xcode 8來執行此操作。選擇每個方案,然後在構建設置中將「使用舊版swift版本」設置爲yes。編譯然後運行。 Swift將開始出現很多錯誤。例如,該代碼(SWIFT 3):

SKAction.rotate(byAngle: CGFloat(M_PI_2), duration: 10) 

SKAction.rotateByAngle: CGFloat(M_PI_2), duration: 10) 
在迅速2.您需要手動修復所有SWIFT說錯誤

,所以你需要的一個清晰的認識舊的swift語法。

+0

那麼你是說我可以將前面提到的那個具有Swift 3.0語法的窗口並嘗試通過在構建設置中更改舊版本的布爾值來嘗試在Swift 2.3中遷移它並繼續修復每個單獨的錯誤?肯定是一個乏味的過程,但值得一試。謝謝! – Alex7

+1

是的,你可以做到這一點,如果你想支持傳統快速 – paper1111

+0

@ Alex7這是正確的答案?你應該勾選它,如果它... – paper1111

相關問題