Проблемы с перенаправлением WKWebview Custom Scheme - PullRequest
0 голосов
/ 04 декабря 2018

Я использую следующую библиотеку для подключения моего приложения к внутренней аутентификации OAuth2: https://github.com/OAuthSwift/OAuthSwift

Библиотека, похоже, предпочитает SFSafariViewController, однако мне нужно сохранить возможность очистки кэша и выхода из системы.от клиента, поэтому я не могу использовать это.

Я пытаюсь использовать взамен WKWebview и не могу подключиться к методу обратного вызова библиотеки после успеха.Кажется, что WKWebview игнорирует перенаправление пользовательской схемы.Я никогда не видел, чтобы перенаправление происходило в следующем методе:

func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void)

Я пытался создать подкласс WKURLSchemeHandler, но кажется, что эти методы никогда не вызывают.Вот как я это делаю:

let conf = WKWebViewConfiguration() conf.setURLSchemeHandler(CustomSchemeHandler(), forURLScheme: "customscheme")
let web = WKWebView(frame: self.view.frame, configuration: conf)
view.addSubview(web)

Также я уже разрешаю произвольные загрузки в моем info.plist.

Также перенаправление и обратный вызов успешно работают с использованием UIWebview, но я не хочу использовать это, потому что это устарело в iOS12.

Есть идеи, почему WKWebview будет игнорировать перенаправление?

...