Как мы можем управлять реализациями протоколов из дополнительных платформ? - PullRequest
0 голосов
/ 19 февраля 2020

Я работаю над проектом с минимальной целевой версией iOS 9.0, и мы должны интегрировать стороннюю платформу с минимальной совместимостью iOS 11.

Каркас было установлено как Необязательное на этапах сборки, но у нас есть проблемы с реализацией протоколов, объявленных в платформе.

Следуя предложению другого ответа, найденного на SO (который я не могу восстановить в данный момент ), мы попытались управлять реализацией в расширении с помощью условия доступности:

import ExternalFramework

@available (iOS 11.0,*)
extension MyClass: Delegate1, Delegate2, Delegate3{ //these are defined in ExternalFramework
    func implementationOne(){ //here the compiler gets angry
        //our code
    }
    ...
}

Каждое удовольствие от реализации c помечается компилятором с ошибкой "Протокол 'Delegate1' требует, чтобы 'creationOne' был доступен в iOS 9.0.0 и новее "

Чего нам не хватает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...