Я получаю это предупреждение:
Class X is implemented in both <framework> and <application> one of the two will be used, which one is undefined
Это предупреждение довольно распространено в Интернете, но я не нашел ничего, что отвечало бы конкретной проблеме, с которой я столкнулся.
Сценарий
Я создал MyFramework и MyApplication (в качестве тестового/демонстрационного приложения для MyFramework).
MyFramework использует CocoaPod (который я буду называть CoolPod), который я также хочу использовать в MyApplication (и разумно предположить, что потребитель MyFramework также будет).
Мне нужно иметь возможность распространять MyFramework как .framework(для закрытого источника). Однако это означает, что MyFramework встраивает CoolPod в свою скомпилированную библиотеку.
Теперь, когда я импортирую MyFramework и CoolPod в MyApplication, я получаю этот конфликт (выводящее предупреждение, показанное выше), поскольку классы CoolPod уже включены в библиотеку MyFramework (поскольку CoolPod встроен).
Итак, у нас есть эта структура:
CoolPod -> MyFramework \
MyApplication
CoolPod /
Вопрос
Как избежать этого конфликта?
- Есть ли способ MyApplication предоставить CoolPod для MyFramework?
- Нужно ли подключать заголовки CoolPod через MyFramework?
Я думал о включении заголовков CoolPod (но не его lib) в MyApplication, однако это кажется слишком сложным для того, что должно быть простым.
Любая помощь очень ценится, это действительно блокирует меня прямо сейчас.
Спасибо,
Индиго