我将把我的 iOS 应用程序移植到 OS X(也许之后还会移植到 tvOS)。它用奇妙的境界来坚持。我目前正在将应用程序中的数据模型分解为动态框架,我打算在 iOS 和 OS X 目标中使用该框架,以共享该代码,因为它完全独立于 UI。
我想知道将 Realm 纳入此处的最佳方式是什么。我将不再需要/希望它作为应用程序本身的依赖项,但我希望应用程序依赖于动态框架,然后让该框架依赖于 Realm。我不介意这是如何完成的,即我与 Cocoapods 没有特别的联系。
这个想法是应用程序本身不会看到或关心 Realm 或框架内使用的持久性模型。就像这样:
iOS 应用程序 -> 动态框架 -> RealmSwift
OS X 应用程序 -> 动态框架 -> RealmSwift
tvOS 应用 -> 动态框架 -> RealmSwift
-> = 取决于
如果可能的话,我还希望它能够变得智能,并包含 Realm 的 iOS 或 OS X 版本,这样我所需要做的就是在我的 Xcode 项目中构建相应的目标,然后它就可以了。将获取正确的框架、正确版本的 Realm,一切都会好起来的。
我该怎么办? Cocoapods 会允许这样做吗?动态框架首先是正确的想法吗?我应该为动态框架制定 podspec 吗?
最佳答案
您可以通过在动态框架的 podspec 中定义 s.dependency "Realm"
来创建中间件,如果您将其视为应用程序中的另一个 pod,那么您可以拥有一个很好的抽象层让你在 Realm 之上工作,我通过 ARAnalytics 进行分析来做到这一点.
就现实世界的链接而言,您必须将 Realm 链接到您的应用程序,运行时不容易允许确定特定于另一个库的依赖项的范围,因为它们存在于平面对象图中。
关于ios - 在动态框架中使用 Realm?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36956424/