ios - 在多个平台上设置使用 Realm 的 Xcode 框架

标签 ios swift frameworks watchkit realm

任何有关如何为以下配置设置 Xcode 和 Realm 的帮助将不胜感激。我真的不知道从哪里开始。

Amazing.app
--AmazingTodayExtension.appex
--AmazingWatchKitApp.app/.appex
--DataKit.framework
----Realm.framework
----RealmSwift.framework

DataKit 的目的是在主机 iOS 应用程序、Today 扩展和 watchOS 扩展之间共享一个通用模型。我的想法是,我应该将 RealmRealmSwift 链接到 DataKit 框架,然后将 DataKit 链接到主机应用程序和两个应用程序扩展。

这就是我陷入困境的地方。我读过的所有指南都谈到在将它们添加到项目时选择 ios/swift2.1/Realm.frameworkwatchOS/swift2.1/Realm.framework 。这需要两者吗?!

谢谢你的帮助:)

最佳答案

您应该为 DataKit 创建两个针对 iOS 和 watchOS 架构的目标。例如,DataKit-iOSDataKit-watchOS(正如Realm项目所做的那样,使用xcconfig,你也可以在一个中对应多个架构单一目标。但一开始制作两个目标会更容易。)

然后将 DataKit-iOS 链接到 RealmRealmSwfit(对于 iOS),将 DataKit-watchOS 链接到 watchOS框架。

您可以像 Realm 一样在 DataKit-iOSDataKit-watchOS 之间共享所有模型代码。您可以通过build设置中的“Product_NAME”和“DataKit”使框架具有相同的名称。

所以我建议采用以下结构。

├── Amazing.xcodeproj
├── AmazingTodayExtension
├── AmazingWatchKitApp
├── AmazingWatchKitApp\ Extension
├── DataKit
└── Frameworks
    ├── iOS
    │   ├── DataKit.framework
    │   ├── Realm.framework
    │   └── RealmSwift.framework
    └── watchOS
        ├── DataKit.framework
        ├── Realm.framework
        └── RealmSwift.framework

关于ios - 在多个平台上设置使用 Realm 的 Xcode 框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33837899/

相关文章:

objective-c - 如何将 obj c 框架导入 swift 桥接头?

windows - 适用于 Windows 的视频捕获 SDK 和框架

ios - 收集在两个精确日期之间拍摄的 iPhone 库照片

ios - 当用户输入时需要将文本字段格式化为货币格式

iphone - 实现数据库同步的最佳方法是什么?

ios - 如何使多个 UILabel 在 UITableView 单元格中自行调整大小?

swift - RxSwift和Moya同步请求

ios - 尝试以 swift 2 重载错误的形式读取 JSON 文件

ios - 为 iOS 8 构建 Firebase 支持的应用程序时出现链接错误

ios - 使用 CATextLayers 向圆圈添加标签