/ / WKWebView स्विफ्ट 4 के साथ HTTP त्रुटि कोड पकड़ता है - आईओएस, स्विफ्ट, wkwebview

WKWebView स्विफ्ट 4 - आईओएस, स्विफ्ट, wkwebview के साथ HTTP त्रुटि कोड पकड़ो

यह प्रश्न निम्नलिखित के समान है: WKWebView HTTP त्रुटि कोड पकड़ता है; दुर्भाग्य से ओबज-सी के तरीके स्विफ्ट 4 के लिए लागू नहीं हैं, इस प्रकार उद्धृत WKNavigationResponse.response अब प्रकार का नहीं है NSHTTPURLResponse इसलिए यह http स्थिति कोड नहीं है।

लेकिन मुद्दा अभी भी वही है: मुझे अपेक्षित पृष्ठ लोड होने या नहीं होने का पता लगाने के लिए उत्तर की http स्थिति कोड प्राप्त करने की आवश्यकता है।

कृपया ध्यान दें कि webView(_ webView: WKWebView, didFailProvisionalNavigation navigation: WKNavigation!, withError error: Error) के मामले में प्रतिनिधि को नहीं बुलाया जाता है 404 लेकिन केवल नेटवर्क समस्या (यानी सर्वर ऑफ़लाइन) के मामले में; func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) के बजाय कहा जाता है।

आपके उत्तरों के लिए बहुत धन्यवाद।

उत्तर:

उत्तर № 1 के लिए 4

इसे इस्तेमाल करे

func webView(_ webView: WKWebView, decidePolicyFor navigationResponse: WKNavigationResponse, decisionHandler: @escaping (WKNavigationResponsePolicy) -> Void) {
if(navigationResponse.response .isKind(of: HTTPURLResponse.self)){
let response = navigationResponse.response as! HTTPURLResponse
if(response.statusCode == 401){
print("error")
}
}
decisionHandler(WKNavigationResponsePolicy.allow)
}