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