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

时间:2017-01-25 18:52:43

标签: ios swift xcode realm carthage

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

  

/ {app source path} /PersonnelModel.swift:10:8:模块文件已创建   通过更新版本的编译器:/ {app source   路径} /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

2 个答案:

答案 0 :(得分:1)

如果你现在只想尝试一个干净的编译,可能值得将Realm从Carthage中取出,手动安装它作为一个动态框架,然后一旦你有了它就把它放回到Carthage中一切顺利。

Xcode 7.3.1是Swift 2.2。支持Swift 2.2的最新版Realm是版本2.3.0,因此我建议downloading that version并手动将其导入Xcode 7.3.1

顺便说一句,从版本2.4.0开始,Realm已经放弃了对Swift 2的支持,因此我们强烈建议您尽快将代码库迁移到Swift 3。 :)

答案 1 :(得分:0)

今天我在Xcode 8.3.2 w Swift 3中遇到了这个问题。我错误地尝试在一个类文件上运行swift 3转换器并在运行中取消它。然后Xcode为我的一个Pod(螺栓)抛出了这个错误。修复是删除窗格,运行pod update,然后再添加窗格,再次运行pod update,以便重置模块。