Cocoapods 指定三方库的swift版本

由于Xcode 9当前处于swift3.2和swift4交替的时期,各种pods的版本不尽相同,手动修改又太麻烦。因此直接修改podfile就好了。之后就可以一点点把swift3.2的库转移成swift4的库了。

非原创,主要来源于 https://github.com/CocoaPods/CocoaPods/issues/6791 下面 @kylef 的回复,不过他少了个end...😆

这里增加了print来辅助确认是否修改成功了,下面的代码放在podfile最后即可。

swift_32 = ['FontAwesome.swift','FontAwesome.swift-FontAwesome.swift']
swift4 = ['R.swift.Library','SnapKit','SwiftDate']

post_install do |installer|
    installer.pods_project.targets.each do |target|
        swift_version = nil
        
        if swift_32.include?(target.name)
            print "set pod #{target.name} swift version to 3.2\n"
            swift_version = '3.2'
        end
        
        if swift4.include?(target.name)
            print "set pod #{target.name} swift version to 4.0\n"
            swift_version = '4.0'
        end
        
        if swift_version
            target.build_configurations.each do |config|
                config.build_settings['SWIFT_VERSION'] = swift_version
            end
        end
    end
end
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 因为要结局swift3.0中引用snapKit的问题,看到一篇介绍Xcode8,swift3变化的文章,觉得很详细...
    uniapp阅读 4,582评论 0 12
  • 项目组件化、平台化是技术公司的共同目标,越来越多的技术公司推崇使用pod管理第三方库以及私有组件,一方面使项目架构...
    swu_luo阅读 22,447评论 0 39
  • Ruby 安装 要安装cocospods 首先需要安装ruby,可以先安装xcode,再安装macport ,最后...
    山天大畜阅读 1,923评论 0 1
  • 听课感受:听完本节《内修高手“跃迁”心法 (解读第五章)》,书写您最大的三点收获。 1做少的思路,把系统开放,引入...
    ST2021阅读 231评论 0 0
  • 我偷走了我的信心和骄傲。这是一个人生的历练和测验,该怎么通过,其实是不知道的。没有剧本,没有人暗示,更没有主角的光...
    伊卡洛斯式阅读 228评论 0 0