Öffnen Sie meine Anwendung von meiner Tastaturerweiterung in swift 3.0

Ich versuche, über meine Tastaturerweiterung zu öffnen. Ich habe eine benutzerdefinierte Tastatur und ich habe diese Tastatur aus der Einstellung hinzugefügt. Auf meiner benutzerdefinierten Tastatur befindet sich eine Schaltfläche "Mehr anzeigen", und ich möchte meine App öffnen, indem Sie auf diese Schaltfläche klicken.

So habe ich folgenden Code ausprobiert:

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
 }

Es funktioniert erfolgreich, aber wie wir wissen in swiftSelector("method_name:") ist veraltet und benutze#selector(classname.methodname(_:)) stattdessen warnt es. Und ich möchte diese Warnung lösen. Also habe ich als Xcode automatisch vorgeschlagen:

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

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

Auch versucht:

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

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

Ich habe auch andere mögliche Wege ausprobiert, aber kein Glück. Wenn jemand weiß, wie es geht, lass es mich wissen.

Ich habe auf diesen Link verwiesen, die Antwort von Julio Bailon:

openURL funktioniert nicht in der Aktionserweiterung

Antworten auf die Frage(4)

Ihre Antwort auf die Frage