我正在接管一个项目的开发,但无法联系到之前的开发人员。我试图找出使用了哪些版本的嵌入式开源库。该项目似乎在 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/