领域:模块是由旧版本的编译器创建的,无法构建 objective-c 模块

Realm: Module was created by an older version of compiler and could not build objective-c module

我已按照提供的步骤从此 link https://realm.io/docs/swift/latest/

添加框架

出现此错误可能是什么问题?

难道是用老版本的xcode编译的,因为我有最新的xcode 7 beta?

如果是这样,我该如何解决?

您必须等待我们支持 Swift 2.0 (#2062),然后才能在您的 Swift 2.0 项目中使用 Realm Swift。

因为Swift写的framework在老版本的编译器中是无法使用的Xcode 7.所以需要重新使用编译器编译Xcode7。但是,Xcode7需要Swift2;我们正在努力使 RealmSwift.framework 适应 Swift 2.

我通过执行以下操作让 Realm 与 Swift 2 一起工作(这是来自记忆)

  1. 结帐Swift-2.0 分支https://github.com/realm/realm-cocoa/tree/swift-2.0
  2. 由 运行 /build.sh ios-swift
  3. 构建
  4. 将Realm.framework和RealmSwift.framework复制到项目
  5. 使用 let realm = try! Realm() 作为我的初始化程序代替 let realm = Realm()

我的所有框架都使用 Carthage,所以为了保持统一,我将 RealmSwift 和 Realm 框架复制到 carthage/build/ios directory 中,/usr/local/bin/carthage copy-frameworks 构建脚本将它们拾取

出于某种原因,这也是随机开始发生在我身上的。手动编译 swift-2.0 分支根本无法正常工作。

我最终将我的整个项目转换为 Swift 2.1,并使用预编译的框架。现在我起来 运行.

FWIW - 从 2.0 到 2.1 的转换几乎没有从 1.0 或 1.2 的任何其他转换那么痛苦。