Xcode8兼容Swift2.3项目指南

如果你最近升级了Xcode8,一跑Swift2.3的项目,毫无意外地,都是错误。希望看完这篇文章,可以帮你顺利跑起来。

Xcode8同时支持Swift2.3Swift3.0,你可以自由选择使用其一来开发。Swift3.0刚刚出来不久(当前2016-09-19),公司项目使用的部分第三方库还没有Swift3.0的版本,保险起见,还是决定先使用Swift2.3。Let's begin!

Step1:

选择项目->Build Settings->搜索‘Swift_version’,这个选项顾名思义说的就是是否使用以前的Swift版本,将其改为YES

Xcode8兼容Swift2.3项目指南_第1张图片
Paste_Image.png

这样以后呐,我们项目自己的代码指定的就是Swift2.3了
但是我们的项目是用cocoapods来管理第三方库的,如果现在直接跑起来,你会发现类似下面的错误:

Xcode8兼容Swift2.3项目指南_第2张图片
Paste_Image.png

我们还需为pods管理的target设置 Swift版本.

Step2:

在项目里找到Pods,一个个将报错的target的Use Legacy Swift Language Version的值设为YES:

Xcode8兼容Swift2.3项目指南_第3张图片
Paste_Image.png

当然一个个设置嫌慢的话,可以改一下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即可,如图:

Xcode8兼容Swift2.3项目指南_第4张图片
Paste_Image.png

你可能感兴趣的:(Xcode8兼容Swift2.3项目指南)