如何将 Thrift 0.12 导入 Xcode 以支持 Swift 4.2

How to import Thrift 0.12 into Xcode to support Swift 4.2

我正在尝试在 Xcode 中建立一个支持 Thrift 0.12 和 Swift 4.2 的新项目。在我由 Thrift 生成的 swift 文件中,所有文件都有 "import Thrift" 行,但我得到一个编译错误 "No such module 'Thrift'"。我不知道如何解决这个问题。将 Thrift 作为 cocoapod 导入似乎不起作用,因为我可以通过 pod 下载的最新版本似乎是 0.10,它不支持 Swift 4.2。我已将 Thrift 0.12 下载到我的 mac 上,这就是我首先生成 thrift-to-swift 文件的方式。下面是生成的文件之一。

我试过: pod "Thrift"pod 'Thrift-swift3', :git => 'git@github.com:apache/thrift.git', :branch => 'master' 它们都不起作用。

我生成的 swift 文件:

import Foundation
import Thrift

public final class TTestMessage {

  public var title: String?
  public var message: String?

  public init() { }
  public init(title: String?, message: String?) {
    self.title = title
    self.message = message
  }
}

我为 Swift 4.2+ 兼容性 (https://github.com/apache/thrift/pull/1827) 做了一个 PR,它被合并了。

因此,您的 Podfile 中现在的工作解决方案如下:

pod 'Thrift', :git => 'git@github.com:apache/thrift.git'