版权声明:本文为博主原创文章,欢迎转载,转载请注明作者、原文超链接。
随着 Xcode9 Swift 4.0 的到来,一些小问题也接踵而至。
许多优秀的 Swift 第三方框架还没有来得及迎接 Swift 4.0 的到来,它们还停留在 Swift3.x 的状态。
这个时候新建一个项目,使用cocoapods 引入所需的第三方,即使 pod install 成功后,一编译工程就是满屏红,且报错 Swift compiler Error,如下图:
不过所幸,苹果每次升级 Xcode 都会保留上个版本的 swift。
解决方案,控制编译时第三方框架所使用的 Swift 版本,有如下两种方法。
方法1. 在 Xcode 设置中手动为每个需要指定 swift 版本的第三方框架设置 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 一下就可以了。
网友评论