2015-10-04 24 views
12

benim sayfasından herhangi http hatası döndüren (şu anda 401, ama 404 ile vb de denedik) dönmüyorWKWebView yakalamak HTTP hata kodları

http://min60.com/__personal/e401.php

WKWebView delegesi geri aramalar zaman bir hata

- (void)webView:(WKWebView *)webView didFailProvisionalNavigation:(WKNavigation *)navigation withError:(NSError *)error 

- (void)webView:(WKWebView *)webView didFailNavigation:(null_unspecified WKNavigation *)navigation withError:(NSError *)error { 

Bu tür hatalar nasıl yakalanır?

cevap

27

anahtar yanıtı bekleyin ve sonra nesneyi incelemek için, hiçbir hata http kodu denir

- (void)webView:(WKWebView *)webView decidePolicyForNavigationResponse:(WKNavigationResponse *)navigationResponse decisionHandler:(void (^)(WKNavigationResponsePolicy))decisionHandler { 

    if ([navigationResponse.response isKindOfClass:[NSHTTPURLResponse class]]) { 

     NSHTTPURLResponse * response = (NSHTTPURLResponse *)navigationResponse.response; 
     if (response.statusCode == 401) { 

      // here we go 

     } 

    } 
    decisionHandler(WKNavigationResponsePolicyAllow); 
}