如何将 Swift 3 内置的 cocoapod 更新为 Swift 4

How to update a cocoapod built in Swift 3 to Swift 4

所以我下载了 Xcode 9 测试版,并且我的任务是将我们内部的 pods 从 Swift 3 更新到 Swift 4. 我已经克隆了 repo,打开它可以看到所有项目文件和其他所有内容,但是没有方案,我无法使用 Edit > Convert > Convert to current Swift syntax 因为它是灰色的。

在主项目中,我使用了迁移工具,然后手动完成并添加了@objc 以公开 Objective-C 中引用的任何内容,但我似乎无法使用豆荚。

我只是想知道是否有人有将 pod 更新到 Swift 4 的经验,如果有,我该怎么做,因为网上关于它的信息很少。

非常感谢,一如既往,

尼尔

您可以尝试将 pod 语言 swift4.0 更改为 swift3.2 。它可能会解决您的问题。它可以在构建设置中完成。搜索 swift 并更改它。

转到您的 Pods 项目,然后:

  1. Select您要更新的目标
  2. 进入其构建设置
  3. Select Swift 3.2 作为语言版本

最好的方法是在 pod 文件中使用 post 安装挂钩。否则每次你 install/update 你的 pods 那个设置将被改回

source 'https://github.com/CocoaPods/Specs.git'
use_frameworks!

target 'ProjectX' do
    pod '_your_pod_'
end

post_install do |installer|
    installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings['SWIFT_VERSION'] = '3.2'
        end 
    end
end