#ios #wkwebview #wkwebviewconfiguration
#iOS #wkwebview #конфигурация wkwebviewconfiguration
Вопрос:
Я пытаюсь загрузить URL-адрес с помощью WKWebView
устройства iPad. Он загружается по Wi-Fi, а также по мобильным данным, но в 50% случаев при загрузке мобильных данных возникают некоторые проблемы.
- Скорость сети в iPad, который я тестирую, составляет более 30 Мбит / с (проверено на Speedtest)
Allow Arbitrary Loads
устанавливается вYES
Однако он вызывает метод делегата сбоя WKWebView и выдает ошибку, которая Internet connection appears to be offline.
Ниже приводится моя реализация
func loadURL() { if let url = URL(string: "http://abc.xyz.co.in") { let webView = WKWebView(frame: self.view.frame) webView.frame = CGRect(x: 0, y: 0, width: self.view.frame.width, height: self.view.frame.height) webView.navigationDelegate = self webView.load(URLRequest(url: url)) webView.allowsBackForwardNavigationGestures = true self.view.addSubview(webView) } }
Я также реализовал необходимые методы делегирования:
extension MyViewController: WKNavigationDelegate { func webView(_: WKWebView, didStartProvisionalNavigation _: WKNavigation!) { print("----- didStartProvisionalNavigation -----") } func webView(_: WKWebView, didFinish _: WKNavigation!) { print("----- didFinishNavigation -----"); } func webView(_ webView: WKWebView, didFail navigation: WKNavigation!, withError error: Error) { print("----- didFail -----"); print("Fail Error: (error.localizedDescription)"); } func webView(_ webView: WKWebView, didFailProvisionalNavigation navigation: WKNavigation!, withError error: Error) { print("----- didFailProvisionalNavigation -----"); print("Provisional Navigation Fail Error: (error.localizedDescription)"); } func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -gt; Void) { decisionHandler(.allow) } func webView(_ webView: WKWebView, decidePolicyFor navigationResponse: WKNavigationResponse, decisionHandler: @escaping (WKNavigationResponsePolicy) -gt; Void) { decisionHandler(.allow) } }
Ошибка
Ошибка сбоя предварительной навигации: Подключение к Интернету, похоже, отключено.
Комментарии:
1. Не отключено ли подключение к Интернету в этой сети? Можете ли вы просматривать другие интернет-сайты в этой сети?
2. Да, открываются другие ссылки. На самом деле многие пользователи сталкиваются с той же проблемой, несмотря на то, что их мобильные данные загружены.
3. Подключение к сайту кажется довольно длительным, это может объяснить, почему он может быть обнаружен как автономный.
4. Я проверяю, и пинг почему-то не всегда работает (160 мс при работе).
5. Но это не вопрос программирования. Дело в том, что сайт иногда кажется автономным. Сообщение об ошибке правильное. Так что на этот вопрос нет ответа.