Открыть приложение с URL из расширения IntentsUI - PullRequest
0 голосов
/ 30 декабря 2018

После того, как INUIHostedViewControlling просмотр контроллера коснулся, есть ли способ отправить некоторые аргументы / URL в приложение?

Например, в расширении виджета есть:

self.extensionContext?.open(cardURL, completionHandler: nil)

1 Ответ

0 голосов
/ 02 марта 2019

Кажется, что некоторые типы расширений более ограничены в использовании 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

...