Xcode8中Swift的使用
在Xcode8里有兩套Swift的語(yǔ)法規(guī)則, 一套是2.3,一套是3.0(算是Swift的第一個(gè)獨(dú)立正式版<去NS化>).
蘋(píng)果在Xcode8引入了Swift版本配置信息: Swift Compiler - Version, 這個(gè)配置信息就是用來(lái)管理Swift語(yǔ)言版本的.
'Swift Compiler - Version'修改方法及簡(jiǎn)單說(shuō)明:
進(jìn)入Build Settings, 搜索"SWIFT_VERSION", 在Swift Compiler - Version項(xiàng)有'Use Legacy Swift Language Version'這個(gè)子項(xiàng),
它有三個(gè)可選值:
- YES: 使用Swift2.3語(yǔ)法;
- NO: 使用Swift3.0語(yǔ)法;
- Unspecified: 未指定
暫時(shí)不知道Xcode會(huì)如何選擇語(yǔ)法版本, 不過(guò)我測(cè)試時(shí)2.3語(yǔ)法一定要選YES
將這個(gè)選項(xiàng)設(shè)置成YES就可以在Xcode8上用2.3的語(yǔ)法了.
附
在測(cè)試時(shí)發(fā)現(xiàn)使用第三方庫(kù)的時(shí)候出現(xiàn)很多問(wèn)題, 第三方庫(kù)也有'SWIFT_VERSION' 我看到有些寫(xiě)的時(shí)版號(hào), 有的和自己建的項(xiàng)目一樣.
經(jīng)過(guò)我?guī)讉€(gè)小時(shí)的簡(jiǎn)單測(cè)試發(fā)現(xiàn)這要看第三方庫(kù)的適配情況了, 我測(cè)試時(shí)cocoapods有大量更新, 不過(guò)我遇到了一個(gè)新問(wèn)題: Podfile文件里一般沒(méi)有寫(xiě)死版本號(hào), 這時(shí)直接更新就會(huì)出一些問(wèn)題了, 有的第三方庫(kù)是直接下載最新的, 當(dāng)?shù)谌綆?kù)適配了3.0的語(yǔ)法時(shí)就不能用最新的版本了.
解決方法: 把Podfile文件里的第三方庫(kù)的版本寫(xiě)死! 同時(shí)記得修改第三方庫(kù)的'SWIFT_VERSION'
注
在這里我例舉幾個(gè)第三方庫(kù):
自動(dòng)布局: SnapKit, 2.3使用0.30.0.beta1; 3.0使用最新.
數(shù)據(jù)處理庫(kù): ObjectMapper, 2.0.0用在3.0語(yǔ)法中, 2.3請(qǐng)使用1.4.0
圖片處理庫(kù): Kingfisher, 2.3語(yǔ)法項(xiàng)目中可以使用2.6.0的, 3.0.1請(qǐng)用在3.0的語(yǔ)法項(xiàng)目中
測(cè)試時(shí)間不長(zhǎng), 只得出以上結(jié)論, 只經(jīng)過(guò)簡(jiǎn)單論證. 如有錯(cuò)誤歡迎指出!