导入RealmSwift时不会构建带有Swift 2.1项目的域(模块文件是由较旧版本的编译器创建的)

时间:2015-10-23 20:53:46

标签: ios xcode swift realm

我使用最新的Xcode 7.1,我的项目使用Swift 2.1。我按照Swift website上的所有说明开始(动态框架标签),一切都很好,直到我在课堂上尝试import RealmSwift。编译器在我尝试导入RealmSwift的行上抛出以下错误:

error: module file was created by an older version of the compiler; rebuild 'RealmSwift' and try again: /Users/USERNAME/Desktop/iosDev/PROJECTNAME/RealmSwift.framework/Modules/RealmSwift.swiftmodule/x86_64.swiftmodule

所有文件都在${PROJECT_DIR}根(RealmSwift.frameworkRealm.framework)。

我搜索并搜索了答案,更新了Xcode,删除并重新配置了库。我不确定'重建RealmSwift'意味着什么(我是swift的新手)。当我尝试在我的类中使用库或使用Xcode插件创建一个新的Realm Model对象时,只会抛出错误。

3 个答案:

答案 0 :(得分:9)

Realm Swift 0.96.2于2015年10月26日发布,增加了对Xcode 7.1和Swift 2.1的支持。这应该解决您所看到的问题。在0.96.2之前的Realm版本是使用Xcode 7构建的,并支持Swift 2.0。

答案 1 :(得分:2)

我也在最新版本的Swift中使用Realm,但是使用Cocoapods版本的安装代替动态框架方法。

这适合我。

但无论如何,这当然不能解决你的问题:)。

大多数情况下,只需清理项目即可解决此错误。在Xcode菜单中,选择Product,然后选择Clean。我在使用的一些SQLite库中遇到了同样的错误,大部分时间都修复了它。

答案 2 :(得分:1)

  1. 克隆回购或下载为Zip文件并打开:enter image description here

  2. 打开一个终端窗口(mac)或一些类似的替代品。

  3. 在Mac上,您将切换到repo目录。终端窗口中的cd~ / Path / To / The / Repo命令。 cd代表更改目录。
  4. 然后,运行以下命令:REALM_SWIFT_VERSION = 2.1 sh build.sh build将导致项目更新为Swift 2.1

  5. 然后,您将能够将框架拖回到项目中。

  6. REALM_SWIFT_VERSION - 使用您的构建版本更改Swift(听取Swift的最新版本为2.1)。

    这需要一些时间来构建您的特定版本。