Настройка платформы XCode, которая использует Realm, на нескольких платформах

Будем весьма благодарны за любую помощь в настройке Xcode & Realm для следующей конфигурации. Я действительно не знаю, с чего начать.

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

Цель DataKit должна иметь общую модель, разделяемую между приложением iOS хоста, расширением Today и расширением watchOS. Моя голова говорит, что я должен быть связь Realm а также RealmSwift к DataKit рамки, а затем связать DataKit к хост-приложению и двум расширениям приложения.

Вот где я застреваю. Все руководства, которые я прочитал, говорят о выборе ios/swift2.1/Realm.framework или же watchOS/swift2.1/Realm.framework при добавлении их в проект. Это понадобится как?!

Спасибо вам за помощь:)

1 ответ

Решение

Вы должны создать две цели для iOS и watchOS для DataKit. Например, DataKit-iOS а также DataKit-watchOS (Как и в проекте Realm, используя xcconfigs, вы также можете соответствовать нескольким архитектурам в одной цели. Но сначала легче сделать две цели.)

Тогда Ссылка DataKit-iOS в Realm а также RealmSwfit для iOS, ссылка DataKit-watchOS для каркасов watchOS.

Вы можете поделиться всем кодом модели между DataKit-iOS а также DataKit-watchOS лайк Realm делает. И вы можете сделать фреймворки одинаковыми по имени "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
Другие вопросы по тегам