есть 2-е библиотеки и необходимо сделать обратную совместимость между ними, в основной библиотеке, в новой версии, класс публичный и имеет публичный метод, в старой версии этот клас приватный и метода не существует.
Вторая библиотека, должна либо как-то понять, что этого метода и класса для неё не существует, либо узнать что они есть и вызвать этот метод.
Прекомпилер не прокатит, так как библиотеки распространяются в скомпилированном выиде.
Если Swift то в новой версии добавь протокол и проверяй на него, в objective -c просто добавить в .h
спасибо, уже сам доехал))
Как сделал?
Проверку на наличие класса через NSClassFromString и соответствие протоколу. Если всё проходит, то проверяем responds(to: Selector) и вызываем perform(Selector)
Обсуждают сегодня