iOS系統Xcode9.0-beta與Swift4.0怎樣進行適配
適配Xcode9.0-beta與Swift4.02017-06-13 11:30 適配Xcode9.0-beta與Swift4.0
原文地址:http://blog.jiar.vip/2017/06/09/%E9%80%82%E9%85%8DXcode9-0-beta%E4%B8%8ESwift4.0/
簡書地址:http://www.jianshu.com/p/1f702d59e54b
您可以通過保留原文地址或者簡書地址的方式進行轉載。
這幾天蘋果在開WWDC2017大會,期間放出了Xcode9.0-beta以及Swift4。為了響應蘋果爸爸的號召,我果斷下載了Xcode9.0-beta,并在項目中拉出了新的分支,準備搞事。
如何適配
Xcode9.0-beta內置的Swift版本不止一個,它同時支持Swift4.0和Swift3.2。而我們正在用的Xcode8,最高只支持Swift3.1。基于這個事實,我先拉一個Xcode9.0-beta-Swift3.2的分支,待適配好Swift3.2后,再起分支Xcode9.0-beta-Swift4.0去支持Swift4.0。
適配Swift3.2
首先,對于Swift3.2,我的理解是:既然版本命名為3.2,那么應該只是基于3.1版本上的微調(我去查Swift,查到更多的是關于Swift4.0方面的信息)。適配Swift3.2的過程中,我的項目代碼不需要任何改動,唯一出問題的是一個第三方庫:Eureka,報錯的原因是Collection協議的sub返回值從Array變成了ArraySlice,關于這個問題,已有人在Eureka的issues中提出(#1082)。隨后有人commit修復了這個問題,并開出新分支來適配Swift3.2。
最后,我在Podfile中修改pod ‘Eureka’為pod ‘Eureka’, :git =》 ‘https://github.com/xmartlabs/Eureka.git’, :branch =》 ‘swift3.2’,完成了適配Swift3.2。
由此可見,適配Swift3.2幾乎是沒有什么壓力的,我也就看到Collection協議的sub返回值變動這個情況。
適配Swift4.0
并不是所有庫都能做到及時支持Swift4.0,更何況是在現在連Xcode9也還是beta的狀態,所以我們僅能做到將自己的業務代碼(主工程代碼)部分升級到Swift4.0,然后同時保留各種pod庫在Swift3.2版本。沒辦法,誰叫Swift4.0也還無法做到ABI兼容呢(但愿能在Swift5之前實現吧)。至于我說的同時使用兩個版本的Swift,這是沒問題的,Xcode9支持在項目中同時使用Swift3.2和Swift4.0。
具體要怎么做呢?(修改Swift版本)
第一步,如下圖指定主工程的Swift版本為4.0
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%
下載地址
iOS系統Xcode9.0-beta與Swift4.0怎樣進行適配下載
相關電子資料下載
- 拿下國家級信創認證!中科馭數KPU SWIFT-2200N成為國內首款滿足金融業嚴苛要求的 163
- 中科馭數基于DPU的思威SWIFT系列智能網卡與統信軟件產品完成適配 176
- 如何使用Swift提高代碼質量 126
- 積木易搭Magic Swift Plus為雕刻工藝品精雕復刻提供三維數字化解決方案 274
- 詞法分析-Antlr-1 235
- Kotlin 1.8.0發布,改進性能和Swift的互操作性 1044
- Swift 2023:強調并發、泛型和C++互操作性,開發Swift解析器 300
- Xcode棄用Bitcode,導致應用體積大幅增加 222
- 彩色套件創建全彩3D模型MagicSwiftPlus僅千元級 432
- Swift的使用體驗與生態發展之路 981