首页 文章

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

提问于
浏览
9

我正在使用最新的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模型对象时,只会抛出错误 .

3 回答

  • 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

    我也在最新版本的Swift中使用Realm,但是使用Cocoapods版本的安装而不是Dynamic Framework方法 .

    这适合我 .

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

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

  • 2
    • 克隆仓库或下载为Zip文件并打开:https://github.com/realm/realm-cocoa

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

    • 在Mac上,您将切换到repo目录 . 终端窗口中的cd~ / Path / To / The / Repo命令 . cd代表更改目录 .

    • 然后,运行以下命令:REALM_SWIFT_VERSION = 2.1 sh build.sh build将导致项目更新为Swift 2.1

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

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

    这需要几分钟来构建您的特定版本 .

相关问题