【问题标题】:Adding RealmSwift as a subproject: Missing required modules: 'Realm.Private', 'Realm'将 RealmSwift 添加为子项目:缺少必需的模块:'Realm.Private'、'Realm'
【发布时间】:2015-05-11 13:19:35
【问题描述】:

所以我想在我自己的框架中链接到 RealmSwift,这些是我采取的步骤:

  1. RealmSwift 添加为子项目

  2. 链接框架:

  3. 添加依赖

  4. RealmSwift 导入到 Swift 文件中:

我得到了错误:Missing required modules: 'Realm.Private', 'Realm'。我该如何解决这个问题?谢谢!

【问题讨论】:

  • 我可以将 Realm.framework 从 RealmSwift.framework 中复制出来,然后消息就消失了。但随后没有找到 RLMObject。你呢?

标签: ios xcode frameworks realm


【解决方案1】:

您需要添加/path/to/RealmSwift.framework/Frameworks 到构建设置中的“框架搜索路径”部分

其中/path/to/RealmSwift.framework 是框架的位置。

这是因为RealmSwift.framework 依赖于Realm.framework(其中定义了RealmRealm.Private 模块),它在其Frameworks 目录中提供。

【讨论】:

  • Cocoapods 应该负责这一切。这是最新版本的错误吗?
  • 原来的问题是关于使用 Xcode 子项目,所以 CocoaPods 是无关紧要的。但是,您假设 CocoaPods 负责所有这些设置是正确的。
  • 如何准确找到这条路径?我正在使用 SPM。
【解决方案2】:

从 Realm v0.93.0 开始,RealmSwift.framework 不再嵌入 Realm.framework。这会在您升级时导致相同的缺失模块错误消息。您可以通过直接链接到 RealmSwift.framework 和 Realm.framework 来解决它。您还需要删除应用程序目标的构建阶段中任何预先存在的 strip-frameworks.sh 运行脚本阶段。不再需要此步骤。

【讨论】:

    【解决方案3】:

    在我安装 pod 时发生了类似的事情......

    确保在使用 CocoaPods 进行 pod-install 之后打开 appname.xcworkspace 文件而不是 appname.xcodeproj。

    如果没有从 appname.xcworkspace 打开,任何设置了“import RealmSwift”的文件都会出现错误 No such module 'RealmSwift'。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-19
      • 2017-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多