【问题标题】:Using Realm in a dynamic framework?在动态框架中使用 Realm?
【发布时间】:2016-04-30 14:59:22
【问题描述】:

我打算将我的 iOS 应用程序移植到 OS X(之后可能还有 tvOS)。它使用美妙的 Realm 进行持久化。我目前正在将我的应用程序中的数据模型分解为一个动态框架,我打算在 iOS 和 OS X 目标中使用它来共享该代码,因为它完全独立于 UI。

我想知道在这里包含 Realm 的最佳方式是什么。我不再需要/希望它依赖于应用程序本身,但我希望应用程序依赖于动态框架,然后让该框架依赖于 Realm。我不介意这是怎么做的,也就是说,我并不特别依赖于 Cocoapods。

这个想法是应用程序本身并不关心 Realm,也不关心框架内使用的持久性模型。像这样:

iOS App -> Dynamic Framework -> RealmSwift

OS X App -> Dynamic Framework -> RealmSwift

tvOS App -> Dynamic Framework -> RealmSwift

-> = Depends on

如果可能的话,我还希望它是智能的,并且包含 Realm 的 iOS 或 OS X 构建,所以我需要做的就是在我的 Xcode 项目中构建相应的目标,并且它'找到正确的框架、正确的 Realm 版本,一切都会好起来的。

我该怎么办? Cocoapods 会允许这样做吗?动态框架首先是正确的想法吗?我应该为动态框架制作一个 podspec 吗?

【问题讨论】:

    标签: ios cocoapods realm ios-frameworks


    【解决方案1】:

    您可以通过在 podspec 中为您的动态框架定义 s.dependency "Realm" 来创建中间件,如果您认为它只是您应用程序中的另一个 pod,那么您可以拥有一个很好的抽象层,让您在 Realm 之上工作,我愿意通过ARAnalytics 进行分析。

    就实际链接而言,您必须将 Realm 链接到您的应用程序,但运行时不允许将特定于另一个库的依赖项限定范围,因为它们存在于平面对象图中。

    【讨论】:

    • 是否可以手动将领域和领域迅速成名工作添加到我的自定义框架中?领域指令状态将框架文件拖到目标常规选项卡中的嵌入式二进制文件部分。但是,在创建自定义框架项目时,没有嵌入二进制文件的部分
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-07
    • 2015-10-28
    • 1970-01-01
    • 2016-05-09
    • 1970-01-01
    相关资源
    最近更新 更多