版權(quán)聲明:本文為博主原創(chuàng)文章,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者、原文超鏈接。
隨著 Xcode9 Swift 4.0 的到來,一些小問題也接踵而至。
許多優(yōu)秀的 Swift 第三方框架還沒有來得及迎接 Swift 4.0 的到來,它們還停留在 Swift3.x 的狀態(tài)。
這個(gè)時(shí)候新建一個(gè)項(xiàng)目,使用cocoapods 引入所需的第三方,即使 pod install 成功后,一編譯工程就是滿屏紅,且報(bào)錯(cuò) Swift compiler Error,如下圖:
不過所幸,蘋果每次升級(jí) Xcode 都會(huì)保留上個(gè)版本的 swift。
解決方案,控制編譯時(shí)第三方框架所使用的 Swift 版本,有如下兩種方法。
方法1. 在 Xcode 設(shè)置中手動(dòng)為每個(gè)需要指定 swift 版本的第三方框架設(shè)置 swift 版本,如下圖:
方法2. 在podfile 文件中,使用 Cocoapods 控制 :
platform :ios, '9.0'
post_install do |installer|
# 需要指定swift編譯版本的第三方的名稱
myTargets = ['Charts','Moya']
installer.pods_project.targets.each do |target|
if myTargets.include? target.name
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '3.2'
end
end
end
end
use_frameworks!
target 'xxxx' do
pod 'IQKeyboardManager', '~>4.0.6'
pod 'JSONModel'
pod 'KVOController'
pod 'MagicalRecord'
pod 'Mantle'
pod 'MJRefresh'
pod 'Masonry'
pod 'Moya'
pod 'ReactiveSwift'
pod 'SDWebImage'
pod 'SwiftyJSON'
pod 'SDCycleScrollView'
pod 'Charts', '~> 3.0.1'
end
然后再 pod install 一下就可以了。