यह प्रश्न निम्नलिखित के समान है: 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)
}