隨著Xcode9 Swift4 的到來,一些小問題也接踵而至。許多優秀的Swift第三方框架還未來得及迎接Swift4的到來,它們還停留在swift3.x的狀態,這個時候新建一個專案,使用cocoapods寫上需要使用的第三方,一編譯就是滿屏紅,如下圖。
所幸,蘋果每次升級Xcode都會保留上個版本的swift,以防暴亂?~~
有兩種解決方案 其本質都是控制編譯時所使用的Swift版本
第一種:Xcode
Pods -> Targets -> SnapKit -> Build Settings -> Swift language version option 選擇 Swift 3.2。不推薦使用該方法,一個個點效率有些低~~
第二種:使用Cocoapods控制
開啟Podfile檔案,新增並按需要修改下方程式碼來指定哪些第三方的Swift編譯版本,接著來一次
pod install
複製程式碼
最後再來一下編譯就搞定了
post_install do |installer|
# 需要指定編譯版本的第三方的名稱
myTargets = ['ObjectMapper', 'SnapKit']
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
複製程式碼
位置如圖所示