使用CocoaPods混合Swift3和Swift4 pods

Cla*_*ule 2 xcode cocoapods swift3 swift4

使用CocoaPods,大多数pod仍然是Swift3 pod,但是当在Xcode中导入时,所有pod默认为Swift 4,这使得编译步骤失败.

如何在我的Podfile中使用Swift4 pod与旧版Swift3 pod,而无需为我的所有pod手动更改目标swift版本?

sam*_*ize 6

Cocoapod(截至v1.3.1)尚未支持混合Swift 3.2和Swift 4.

可以采用解决方法.附加给你的Podfile,并补充说,已经是斯威夫特4到数组豆荚swift4Targets,然后pod install.

# Workaround Cocoapods to mix Swift 3.2 and 4
# Manually add to swift4Targets, otherwise assume target uses Swift 3.2
swift4Targets = ['MyTarget1', 'MyTarget2']
post_install do |installer|
    installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            if swift4Targets.include? target.name
                config.build_settings['SWIFT_VERSION'] = '4'
            else
                config.build_settings['SWIFT_VERSION'] = '3.2'
            end
        end
    end
end
Run Code Online (Sandbox Code Playgroud)