2015-02-12 7 views
1

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

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

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

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

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

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

спасибо

ответ

2

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

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

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