Реализация архитектуры плагинов для iOS с использованием Bundles - PullRequest
4 голосов
/ 23 марта 2012

Довольно широкий вопрос. Я собираюсь реорганизовать существующее игровое приложение, чтобы у нас была базовая платформа для игр, которая расширена некоторой модульной архитектурой плагинов. Итак имеем:

GameCore - множество базовых классов и т. Д. GameBundle A / B / C ... - пакеты с множеством подклассов в ядре и множеством ресурсов

Игра не будет функционировать вообще без конкретного пакета, который реализует саму игру. Теоретически было бы также возможно разбить эти связки дальше и смешать и сопоставить. Это очень привлекательный дизайн.

Использование NSBundle кажется лучшим решением, но я столкнулся с некоторыми трудностями: код в GameBundle должен быть связан с GameCore, иначе он не скомпилируется, но затем, когда код GameCore загружается из NSBundle, Вы получаете дубликаты всех основных классов. Это говорит о том, что я не в курсе того, как я к этому подхожу!

Это может быть легко реализовано с помощью статических библиотек, но тогда невозможно легко включить ресурсы ...

Итак, кто-нибудь может предложить работоспособную архитектуру, которая будет делать, как я хочу? Подводя итог;

Абстрактное ядро ​​игры Неопределенное количество GameBundles, добавленных к цели, которые (в идеале) загружаются динамически во время выполнения.

Надеюсь, кто-то может помочь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...