Моя компания хотела бы предложить два разных SDK для разработки iOS вместе с образцом приложения, которое использует каждый. Оба SDK используют много общего кода, который не является частью общего интерфейса SDK.Как создать публичную статическую библиотеку, которая опирается на частную статическую библиотеку в XCode?
Я хотел бы структурировать проекты так, чтобы у меня был наш общий код в одной статической библиотечной структуре (которую мы сохраняем конфиденциально), и каждый SDK представляет собой собственную статическую библиотечную структуру (которую мы будем публиковать). Структура SDK зависит от общей структуры.
Я в значительной степени получил эту настройку и работу, за исключением одной вещи ... В общей библиотеке есть несколько родительских классов, которые используются в коде SDK. Чтобы опубликовать подклассы в коде SDK, мне нужно экспортировать заголовки для родительского класса (который находится только в частной общей структуре) вместе с каркасом SDK.
Любые предложения по решению этой проблемы? Вот наиболее важные приоритеты:
- Клиенты могут загрузить единую структуру и это просто работа
- Мы не дублировать код в нескольких проектах
Не совсем уверен в вашей проблеме, не хотите ли вы публиковать заголовки для родительских классов? – joerick
Нет, я не против этого. Проблема в том, что я * не могу получить * XCode, чтобы включить их в структуру SDK. –
Вы когда-нибудь заставляли это работать? Как клиенты получат одну из государственных платформ, если они не будут предоставлены частным? Вы связываете общую структуру в двоичные файлы государственных структур? Если да, то что, если SDK A использует CommonSDK 1.0 и SDK B, используется CommonSDK 1.1? У вас возникнут проблемы с их соединением в одно приложение? – Liron