Как правильно включать субпакеты в основной комплект 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, вы можете сделать это из сценария фазы сборки и задать путь для копирования - это ваш основной пакет.