ReactiveSwift 不适用于 Xcode 8.1。转换为 Swift 3 会导致 >50 个错误。修复?

ReactiveSwift not working with Xcode 8.1. Conversion to Swift 3 leads to >50 errors. Fixes?

我正在尝试让 ReactiveSwift 与 Xcode 8.1 一起工作。 Xcode 声称 ReactiveSwift 是在比 3.0 更早的 Swift 版本中编写的(我认为它已更新为 Swift 3!)。转换为 Swift 3 会在 ReactiveSwift swift 文件中导致 >50 个错误。任何想法如何解决?我正在使用 CocoaPods 添加 ReactiveSwift 框架。我的 pod 文件是....

播客文件

target 'MyTarget' do
use_frameworks!
pod 'ReactiveSwift', :git => 'https://github.com/ReactiveCocoa/ReactiveSwift.git'
end

使用 CocoaPod 1.1.1、Xcode 8.1 和 Swift 3,如果我执行以下步骤,它工作正常:

  1. pod repo update(您只需执行一次)
  2. 从 Swift 3 个项目开始。
  3. pod init
  4. ReactiveCocoa 行添加到我的 Podfile
  5. pod install,它(现在)抓取 ReactiveSwift (1.0.0-alpha.3) 和 Result (3.0.0)。
  6. 打开 .xcworkspace.

如果我尝试将它添加到 Objective-C 项目而不使用任何 Swift 代码,那么我获得您描述的行为的唯一方法。在这种情况下,当您启动工作区时,它似乎找不到旧版本设置(因为根本没有 Swift 构建设置!)并且错误地假设它必须进行转换。但是,如果我在执行上述步骤之前将一个 Swift 文件添加到我的项目中,它就可以正常工作。

好的我解决了!我将 Cocoapods 从 1.0.1 更新到 1.2.0.beta.1。遵循@Rob 建议的过程,瞧!没有错误。在与 ReactiveCocoa 5.0 和稀疏文档(到目前为止)中的主要语法变化作斗争之后,我得到了 UI 绑定测试,可以使用标签和文本字段以及..... textField.reactive.continuousTextValues.observeValues { text in self.label.text = 文本作为字符串!} .....感谢@Rob 的帮助和支持!