Xcode 8:Use Legacy Swift Languag
2016-11-01 本文已影响1970人
请叫我小陈陈
前言
昨天心血来潮用Xcode8建个项目,准备练个手,结果遇到一问题,郁闷了很久……还好最后解决了。做个笔记_
谜之心酸的过程
在项目里面我用到了Alamofire,RxSwift……,我用pods来管理这些三方库,来个部分截图:
图1.png当我再次打开工程的时候,我就无语了。一直提醒我:
图2.png
这个时候我就很郁闷了,因为我之前看过这些三方库现在都更新来支持Swift3.0了,为什么还让我转呢?因为心存疑惑所以说我没点Convert,一直点的Later。然后当我Build了项目,结果给我来两个error:
图3.png“Use Legacy Swift Language Version” (SWIFT_VERSION) is required to be configured correctly for targets which use Swift. Use the [Edit > Convert > To Current Swift Syntax…] menu to choose a Swift version or use the Build Settings editor to configure the build setting directly.
当我看到这两个错误的时候,我就不开心了-_-#
对于Alamofire:
对于RxSwift:
图5.png然后就很郁闷了……当时考虑到可能是我的CocoaPods版本太低,我的小伙伴导入一样的这些三方库,他的就没有问题。想到万能的网络,我没有忙着更新pods。最后发现不止我一个人遇到这样的问题,在Alamofire的issues里面有人已经提过这个问题了issues:1526
亲测的解决办法:
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '3.0'
end
end
end
用法很简单:
图6.png更新pods到最新版本
sudo gem install -n /usr/local/bin cocoapods --pre
更新pods到指定版本
sudo gem install -n /usr/local/bin cocoapods --version 1.0.1