2015-06-05 3 views
1

Я разработал SDK, распространяемый среди наших издателей как стандартная инфраструктура iOS. Чтобы быть максимально понятным, скажем, мой SDK называется «A». «A» требует стороннюю инфраструктуру iOS (называемую «B»), которая управляет определенной функцией. Так, например, у меня есть класс в «А», как это:iOS Как управлять различными функциями, требующими сторонней структуры

#import <Foundation/Foundation.h> 

#import <B/SomeClassOfB.h> 

@interface MyClassOfA : NSObject < 'B' Delegate> 

Импорт рамках третьей стороной, и мой класс соответствует к протоколу «B»

Теперь, если я есть издатель в США, который хочет использовать эту особенность, я пошлю ему свою фреймворк и стороннюю структуру, издатель свяжет их обоих с его приложением, и все работает. Да!!

Теперь проблема .... если у меня есть издатель в Европе, который не хочет использовать эту особенность, я не хочу посылать ему стороннюю структуру, и он не хочет ничего добавлять бесполезно для его приложения. Каков наилучший способ решить эту проблему? Как я могу построить две разные структуры: одну с указанным выше классом, которая зависит от «B», и тот, который игнорирует его без кода «comment» каждый раз?

Благодаря

ответ

2

Вы можете создать еще один target.

enter image description here

Если вы просто хотите, чтобы отличить .h или .m файлы, а затем создать эти файлы с таким же именем (или имя класса), но разные FilePath, затем редактировать «Target» Членство

enter image description here

enter image description here enter image description here

enter image description here

+0

Получаю: «Дублируемое определение интерфейса для класса». Я помещаю файлы в другую папку и меняю целевое членство. –

+0

@GiulioBider Можете ли вы разместить пример проекта? –

+0

да, я отправлю его завтра. Кстати, если у меня есть 2 .m файлов и 1 .h, все работает. Мне нужно иметь 2 м и 2.h, потому что заголовки и реализация разные. Но если я создам 2 файла .h, я получаю вышеуказанную ошибку. –

Смежные вопросы