O método que não é '@ objc' não atende aos requisitos opcionais do protocolo '@objc'

Visão global:Eu tenho um protocolo P1 que fornece uma implementação padrão de uma das funções opcionais do Objective-C.Quando forneço uma implementação padrão da função opcional, há um avisoAviso do compilador:
Non-'@objc' method 'presentationController(_:viewControllerForAdaptivePresentationStyle:)' does not satisfy optional requirement of '@objc' protocol 'UIAdaptivePresentationControllerDelegate'
Versão:Swift: 3Xcode: 8 (lançamento público)Tentativas feitas:Tentei adicionar@objc mas não ajudaPergunta, questão:Como eu resolvi isso?Existe uma solução alternativa?Código:
@objc protocol P1 : UIAdaptivePresentationControllerDelegate {

}

extension P1 where Self : UIViewController {

    func presentationController(_ controller: UIPresentationController, viewControllerForAdaptivePresentationStyle style: UIModalPresentationStyle) -> UIViewController? {
        return UIViewController()
    }
}


class A : UIViewController, P1 {

}