找不到 'RealmSwiftObject' 的接口声明,超类

Cannot find interface declaration for 'RealmSwiftObject', superclass of

我在 Mojave 10.4.3 上使用 Swift 5 几周没有出现问题。突然,我的一个项目停止编译,并出现此问题标题中的错误消息。经过搜索和试验,我找到了解决问题的方法,并回答了我自己的问题。 这个问题特别令人发指(即:你可以花很多时间走死胡同)因为它没有发生在其他项目中,这些项目成功地使用了使用 Carthage 0.32 编译的框架

我使用 Carthage 0.32 创建 Realm 和 RealmSwift 框架。 搜索后,我找到了适合我的解决方案。 (RealmCocoa Issue 3073) 感谢 github 的 jweg29 提供的解决方案。

编辑:请参阅下面来自 Larme 的评论。对于 Swift 5.

,应该 使用 Carthage 0.33 或更高版本

我在这里发布了答案,因为错误是由于 carthage 的过时(仅轻微)版本导致的并不明显。

在终端中,输入:

brew upgrade carthage

cd 到包含您的 Cartfile 文件的目录,然后重建。对我来说,这意味着输入:

carthage update --platform ios

用新创建的框架替换您项目中现有的 Realm 和 RealmSwift 框架,干净(我使用 Shift-Option-Command-K 来确定)并且您应该能够重建您的项目.