Я использую следующую библиотеку для подключения моего приложения к внутренней аутентификации 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 будет игнорировать перенаправление?