Как правильно включать субпакеты в основной комплект iOS?

У меня следующая ситуация, я пытаюсь создать фреймворк, который состоит из подпроектов, каждый подпроект представляет собой статическую библиотеку и пакет.

Я включаю эти статические библиотеки в основной проект, который является фреймворком, а также мне нужно включить пакеты в основной проект

Следующее изображение может описать мою структуру https://drive.google.com/file/d/0B3tzx8whq3EvaS1JVmV0Mnl5Y3M/view?usp=sharing

примечание: я добавляю пакеты из подпроектов в основную папку вывода, копируя их с помощью сценария фазы сборки

Таким образом, мой вывод упакован в виде структуры, содержащей заголовки и пакеты. Мои вопросы: Как получить доступ к определенному пакету во время выполнения? без клиента сделать копию каждого пакета?

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

большое спасибо

1 ответ

Решение

Я много искал и нашел решение, во-первых, вы можете включить пакеты в свой пакет, чтобы пользователю не нужно было копировать все пакеты, только основной.

Мы можем достать любой пакет внутри пакета, например:

NSBundle *mainBundle = [NSBundle bundleForClass:[self class]];
NSBundle *bundle = [NSBundle bundleWithURL:[mainBundle URLForResource:@"myMainBundle" withExtension:@"bundle"]];

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

NSString *subBundlePath =[bundle pathForResource:@"subBundle" ofType:@"bundle"];

Чтобы скопировать пакет внутри budle, вы можете сделать это из сценария фазы сборки и задать путь для копирования - это ваш основной пакет.

Другие вопросы по тегам