老實說?任何使用Swift構建的項目自2014年以來都應該通過了解代碼將分解爲每新版本通過Swift 3.X. (我一點也不關鍵,只是實際。)今年,Swift 4.X正在努力不要打破Swift 3.X代碼。
因此,既然出發點,這是我的想法:
- 1拍攝工作斯威夫特2.X應用程序的備份和歸檔。備份即備份。
- 2接受應該有在3.X之前使用任何版本時已知的價格 - 轉換將將是痛苦和費時。
- 3儘可能地,不要使用第三方添加。它們會增加遷移到最新版本的複雜性。
- 4請考慮等待斯威夫特4.我不是推薦這個,但是說着考慮一下大局。但永遠記得最終你將必須端口的東西。 (好消息是Swift 3似乎足夠穩定,說未來的升級不會(至少)是痛苦的)
- 5考慮遷移一切一次(如果你有那個金色備份在幾個地方複製, )是的,有許多方法可以將個別項目,文件等從2.X遷移到3.X - 和4.X(以及可能的Xcode 9),使事情變得更容易。但是只有如果你是從3.X開始的
- 6 Regards to Swift 2.3 ...最新版本的Xcode不會編譯/編譯Swift 2.3。以此爲標誌 - 有一天它將不再被App Store接受。那一天可能要2-3年(或不是),但它差不多是2年的,因爲 ABI和版本兼容性的承諾是針對Swift 3.0的。順便說一句,只有後者發生。
歡迎來到一個快速發展的語言世界!
編輯:問候點#3(避免第三方加載項如果可能的話),我發現兩個環節表達的問題,可以拿出:
Analyzing Third Party Libraries
Avoiding Third Party UI Libraries
來源
2017-03-02 17:10:41
dfd
我們最近經歷了這樣的轉換。至少可以說是可怕的。我們遵循混合的方法來完成它。自動轉換,手動代碼更改,錯誤修復和大量測試。 – humblePilgrim
Mozilla最近完成了:https://mozilla-mobile.github.io/ios/firefox/swift/core/2017/02/22/migrating-to-swift-3.0.html 簡而言之,它可能長而複雜。 Swift 4應該允許「舊的Swift代碼」,但我強烈建議至少使用Swift 3,至於未來的版本。先檢查一下你的所有依賴關係(例如,pod有一個Swift 3版本)。 – Larme
這是一個好主意,有一個項目的副本。我已經使用這個選項來轉換一個相對較小的應用程序,我需要一個小時來修復所有的錯誤(許多人可以選擇自動修復它們) – i6x86