2017-12-24 8 views
0

Ich versuche Access_Token einer App von Facebook zu bekommen. Wenn Benutzer Facebook anmelden, gibt es access_token zurück. Ich kann es auf Chrom im unteren Bereich (Screenshot) bekommen. Allerdings kann ich diese Antwort nicht auf WkWebview erhalten. Ich denke, das liegt daran, dass Chrome die letzte Antwort der URL anzeigt (umgeleitet), aber WkWebview zeigt die erste.So erhalten Sie die Antwort der letzten Umleitung in WKWebview

Chrome

func webView(_ webView: WKWebView, decidePolicyFor navigationResponse: WKNavigationResponse, decisionHandler: @escaping (WKNavigationResponsePolicy) -> Void) { 
    print(navigationResponse.response) 
    let headers = (navigationResponse.response as! HTTPURLResponse).allHeaderFields 
    let req = URLRequest(url: navigationResponse.response.url!) 
    decisionHandler(.allow) 

} 

Antwort

0

Ich bin nicht sicher, ob ich Ihre Frage wirklich verstehen.

func webView(_ webView: WKWebView, decidePolicyFor navigationResponse wird verwendet, um zu entscheiden, ob eine Navigation stattfinden soll, nachdem die Antwort bekannt ist.

Versuchen Sie Monitor func webView(_ webView: WKWebView, didReceiveServerRedirectForProvisionalNavigation navigation: WKNavigation!) oder func webView(_ webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation!), wenn Sie die volle Rückrufurl von Facebook mit dem Token erhalten möchten.

+0

Ich habe es über die Überwachung navigationaction statt navigationresponse getan. Ich werde meine Antwort später teilen. Vielen Dank :) –

Verwandte Themen