Откройте My application из моего расширения клавиатуры в Swift 3.0

Я пытаюсь открыть со своего расширения клавиатуры. У меня есть пользовательская клавиатура, и я должен добавить эту клавиатуру из настроек. На моей пользовательской клавиатуре есть одна кнопка «Показать больше», и я хочу открыть свое приложение, нажав эту кнопку.

Итак, я попробовал следующий код:

let context = NSExtensionContext()
 context.open(url! as URL, completionHandler: nil)

 var responder = self as UIResponder?

 while (responder != nil) {

      if responder?.responds(to: Selector("openURL:")) == true {

           responder?.perform(Selector("openURL:"), with: url)
      }
      responder = responder!.next
 }

Работает успешно, но, как мы знаем, по-быстромуSelector("method_name:") устарела и использовать#selector(classname.methodname(_:)) вместо этого, так что дает предупреждение. И я хочу решить это предупреждение. Итак, я попробовал, как Xcode автоматически предложил:

 if responder?.responds(to: #selector(UIApplication.openURL(_:))) == true {

      responder?.perform(#selector(UIApplication.openURL(_:)), with: url)
 }

Также попробовал:

 if responder?.responds(to: #selector(NSExtensionContext.open(_:))) == true {

      responder?.perform(#selector(NSExtensionContext.open(_:)), with: url)
 }

Я также пробовал другие возможные пути, но не повезло. Если кто-нибудь знает, как это сделать, пожалуйста, дайте мне знать.

Я сослался на эту ссылку, ответ Хулио Бэйлона:

openURL не работает в расширении действия

Ответы на вопрос(2)

Ваш ответ на вопрос