Допустим, у меня есть пользовательский фреймворк с множеством функций, написанный на Swift.
Этот фреймворк, назовем его 'MyFramework' , использует некоторые сторонние библиотеки, такие как Firebase, SDWebimage, PromiseKit и т. Д. Я интегрировал их с CocoaPods .
Наша цель - скомпилировать нашу инфраструктуру на моем компьютере, а затем передать полученный файл .framework заказчику, который сможет интегрировать его в свой проект.
Очень важно предварительно скомпилировать фреймворк, потому что мы не хотим, чтобы клиенты могли видеть / изменять наш код.
Это работает, но проблема в том, что, например, если наш клиент использует Firebase и в своем проекте (также установленном с CocoaPods), он получит много предупреждений, например:
Класс XY реализован в MyProject и MyFramework. Один из двух будет использован. Какой из них не определен.
Можно ли каким-то образом построить мою среду без конкретных реализаций этих библиотек и получить их из установленных модулей заказчика?
Другое возможное решение, которое я попробовал, состоит в том, чтобы поместить все зависимости в фреймворк и попытаться ссылаться на них из проекта клиента. Но потом компилятор сказал, что не может ссылаться на эти зависимости, что забавно, потому что, если я снова установлю их все в проект, он скажет, что дублированные зависимости.
Как лучше всего скомпилировать фреймворк, но также использовать в нем эти модули?