【问题标题】:Realm: Module was created by an older version of compiler and could not build objective-c module领域:模块是由旧版本的编译器创建的,无法构建objective-c模块
【发布时间】:2015-11-30 15:20:59
【问题描述】:

我已按照提供的步骤从该链接https://realm.io/docs/swift/latest/添加框架

它给出了这个错误可能是什么问题?

是不是因为它是用旧版本的 xcode 编译的,因为我有最新的 xcode 7 beta?

如果是这样,我将如何解决这个问题?

【问题讨论】:

标签: ios swift realm


【解决方案1】:

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

由于在旧版本编译器中构建的Swift编写的框架无法在Xcode 7中使用,因此需要使用Xcode 7的编译器重新构建。但是,需要Swift 2 Xcode 7;我们正在努力使 RealmSwift.framework 适应 Swift 2。

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

    • 构建成功但无法添加..给出 Realm.framework not found 错误:(
    【解决方案3】:

    由于某种原因,这只是随机开始发生在我身上。手动编译 swift-2.0 分支根本没有用。

    我最终将整个项目转换为 Swift 2.1,并使用预编译的框架。现在我已经开始运行了。

    FWIW - 从 2.0 到 2.1 的转换并不像从 1.0 或 1.2 的任何其他转换那样痛苦。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-08
      • 2023-03-14
      • 1970-01-01
      • 2017-06-11
      • 2017-02-04
      • 2015-09-17
      • 2015-07-05
      • 2016-10-16
      相关资源
      最近更新 更多