Не удалось захватить URL-адрес перенаправления в wkwebview

У меня есть приложение для iOS, в котором у меня есть вход в Dropbox. После успешного входа в систему делегат DecPolicyForNavigationAction не вызывается, поэтому я могу перехватить перенаправленный URL-адрес.

Вот мой код ниже,

      @IBOutlet var dropboxWebview: WKWebView!

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view.
    
    dropboxWebview.navigationDelegate = self
    
    let authorizationUrl = "https://www.dropbox.com/oauth2/authorize?response_type=token&client_id=yyyyyyy&redirect_uri=sampleApp://dropbox&disable_signup=true"
    
    let url = URL(string: authorizationUrl)
    let request = URLRequest(url: url!)
    dropboxWebview.load(request)
}

func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
    print(webView.url?.absoluteString)
    decisionHandler(.allow)
}

До отправки учетных данных и разрешения приложению доступ к Dropbox делегат запускается, но после нажатия кнопки «Разрешить» делегат DecPolicyForNavigationAction не вызывает.

Примечание: я использую Xcode 12.0. Раньше он отлично работал с тем же кодом, но последние пару недель он не работает.

Ниже приведены снимки экрана приложения для большего понимания.

Экран входа в систему

Экран разрешений

0 ответов

Другие вопросы по тегам