如果你最近升级了Xcode8,一跑Swift2.3
的项目,毫无意外地,都是错误。希望看完这篇文章,可以帮你顺利跑起来。
Xcode8同时支持Swift2.3
与Swift3.0
,你可以自由选择使用其一来开发。Swift3.0
刚刚出来不久(当前2016-09-19),公司项目使用的部分第三方库还没有Swift3.0
的版本,保险起见,还是决定先使用Swift2.3
。Let's begin!
Step1:
选择项目->Build Settings->搜索‘Swift_version’,
这个选项顾名思义说的就是是否使用以前的Swift
版本,将其改为YES
。
这样以后呐,我们项目自己的代码指定的就是Swift2.3了
。
但是我们的项目是用cocoapods
来管理第三方库的,如果现在直接跑起来,你会发现类似下面的错误:
我们还需为pods管理的target设置
Swift
版本.
Step2:
在项目里找到Pods
,一个个将报错的target的Use Legacy Swift Language Version
的值设为YES
:
当然一个个设置嫌慢的话,可以改一下Podfile:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!
def pods
pod 'Alamofire', :git => 'https://github.com/Alamofire/Alamofire.git', :tag => '3.5.0'
pod 'Kingfisher', '~> 2.5.1'
end
target 'your-target' do
pods
end
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '2.3'
end
end
end
注:有些第三库库部分已经有Swift3
的版本,如Alamofire,Kingfisher
,在pods里请设置好对应的版本,否则可能还是会出错。
至此,你的Swift2.3
的项目应该可以跑起来了。
TIPS:
一:
项目跑起来你会发现一堆log,只需将OS_ACTIVITY_MODE
设为Disable
即可,如图: