ios - 模块文件是由较新版本的编译器创建的

标签 ios swift xcode realm carthage

我正在接管一个项目的开发,但无法联系到之前的开发人员。我试图找出使用了哪些版本的嵌入式开源库。该项目似乎在 Swift 2.1 中。我试图用 Xcode 7.3.1 编译它。 Carthage 是使用的包管理器。我被 RealmSwift 的错误困住了。错误发生在尝试导入 RealmSwift 的行上。

/{app source path}/PersonnelModel.swift:10:8: Module file was created by a newer version of the compiler: /{app source path}/Carthage/Build/iOS/RealmSwift.framework/Modules/RealmSwift.swiftmodule/x86_64.swiftmodule

我一直努力回到 realm-cocoa 的 0.96.2 版本,我相信它是第一个支持 Xcode 7.1 和 Swift 2.1 的版本。但是,我仍然遇到错误。

我已经查看了此处的其他答案,但没有找到有效的解决方案。我误解了错误的原因吗?我只是认为它正在选择更新版本的框架。

这是我的 Cartfile 的样子:

github "ReactiveCocoa/ReactiveCocoa"
github "Alamofire/Alamofire" ~> 3.4
github "SwiftyJSON/SwiftyJSON"
github "realm/realm-cocoa" == 0.96.2
github "scalessec/Toast-Swift" ~> 1.4.0

最佳答案

如果您现在只是想获得一个干净的编译,可能值得将 Realm 从 Carthage 中取出,将其作为动态框架手动安装,然后在最后将其放回 Carthage 中一切顺利。

Xcode 7.3.1 是 Swift 2.2。支持 Swift 2.2 的最新版本的 Realm 是 2.3.0 版,所以我推荐 downloading that version并手动将其导入 Xcode 7.3.1

顺便说一句,Realm 从 2.4.0 版开始就不再支持 Swift 2,因此强烈建议您尽快将代码库迁移到 Swift 3。 :)

关于ios - 模块文件是由较新版本的编译器创建的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41859398/

相关文章:

ios - 为每个操作创建 Realm 实例的开销/问题?

jquery - slider 拇指更容易捕获触觉设备

swift - 如何在继续之前等待 requestLocation?

ios - Swift 中的字符和字符串

ios - 是否可以使用代码在 ScrollView 中嵌入 segue/包含 View ?

ios - 在 ScrollView 上添加圆形按钮

ios - iOS:确定虚拟内存分配的来源

swift - swift 协议(protocol)的默认变量逻辑

ios - SceneKit:文本节点字体不适用

Xcode:查看变量的引用?