Кажется, что некоторые типы расширений более ограничены в использовании extensionContext.У меня была такая же проблема с расширением клавиатуры.Это может быть немного хакерски, но код ниже работал для меня.
func openUrl(url: URL?) {
let selector = sel_registerName("openURL:")
var responder = self as UIResponder?
while let r = responder, !r.responds(to: selector) {
responder = r.next
}
_ = responder?.perform(selector, with: url)
}
func canOpenUrl(url: URL?) -> Bool {
let selector = sel_registerName("canOpenURL:")
var responder = self as UIResponder?
while let r = responder, !r.responds(to: selector) {
responder = r.next
}
return (responder!.perform(selector, with: url) != nil)
}
Как предложено https://stackoverflow.com/a/44694703/2064473