Xcode9 Swift4下編譯Swift第三方框架時(shí)報(bào)錯(cuò)Swift compiler Error的解決方案

版權(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 一下就可以了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 好久,都沒有提筆 是不是窗外的蟬鳴 聒噪亂了思緒 倦怠了,就安然睡去 又見七月,而你 卻停留在記憶里的七月 你變得...
    曉豐殘?jiān)?/span>閱讀 344評(píng)論 0 3
  • 1: 之前寫一個(gè)NSArray 進(jìn)行數(shù)據(jù)轉(zhuǎn)化的時(shí)候 通常都是采用對(duì)數(shù)組進(jìn)行遍歷,進(jìn)行對(duì)數(shù)據(jù)的處理,其實(shí)ios 以為...
    BillZhang88閱讀 574評(píng)論 0 0

友情鏈接更多精彩內(nèi)容