Использование Realm в динамической среде?

Я собираюсь портировать свое iOS-приложение на OS X (и, возможно, после этого на tvOS). Он использует чудесное Царство для настойчивости. В настоящее время я нахожусь в процессе преобразования модели данных в моем приложении в динамическую структуру, которую я намереваюсь использовать как в целях iOS, так и в OS X, чтобы поделиться этим кодом, поскольку он полностью независим от пользовательского интерфейса.

Мне интересно, как лучше всего включить 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 для динамического фреймворка?


person Luke    schedule 30.04.2016    source источник


Ответы (1)


Вы можете создать промежуточное программное обеспечение, определив s.dependency "Realm" в podspec для вашей динамической структуры, если вы думаете об этом как о еще одном модуле в своем приложении, тогда у вас может быть хороший уровень абстракции, который позволяет вам работать над Realm, в частности, я делаю это с помощью аналитики через ARAnalytics.

Что касается реального связывания, вам придется связать Realm с вашим приложением, однако среда выполнения не позволяет легко определить область зависимости, характерную для другой библиотеки, поскольку они существуют внутри плоского графа объектов.

person orta    schedule 01.05.2016
comment
Можно ли как-то добавить реалм и реалмсвифт в мою пользовательскую структуру ВРУЧНУЮ? В инструкциях Realms указано перетаскивать файлы фреймворка в раздел встроенных двоичных файлов на вкладке «Общие цели». Однако при создании пользовательского проекта фреймворка нет раздела для встроенных двоичных файлов. - person user2363025; 30.11.2016