Abra Meu aplicativo na extensão do meu teclado no swift 3.0
Estou tentando abrir na minha extensão de teclado. Estou usando um teclado personalizado e adicionei esse teclado à configuração. No meu teclado personalizado, há um botão "Mostrar mais" e quero abrir meu aplicativo nesse botão.
Então, eu tentei o seguinte código:
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
}
Está funcionando com sucesso, mas como sabemos rapidamenteSelector("method_name:")
está obsoleto e usa#selector(classname.methodname(_:))
em vez disso, está dando aviso. E eu quero resolver esse aviso. Então, tentei, como o Xcode sugeriu automaticamente:
if responder?.responds(to: #selector(UIApplication.openURL(_:))) == true {
responder?.perform(#selector(UIApplication.openURL(_:)), with: url)
}
Também tentei:
if responder?.responds(to: #selector(NSExtensionContext.open(_:))) == true {
responder?.perform(#selector(NSExtensionContext.open(_:)), with: url)
}
Eu também tentei outras maneiras possíveis, mas sem sorte. Se alguém souber como fazer, por favor me avise.
Eu indiquei este link, a resposta de Julio Bailon: