WKWebview не загружается, когда в одном запросе в iOS происходит несколько перенаправлений

В моем приложении для iOS при нажатии кнопки я вызываю API и получаю в ответ строку URL. Затем я загружаю этот URL-адрес в WKWebView, используя loadrequest. Теперь

  1. Начальная страница загружается, и происходят дальнейшие перенаправления
  2. Два раза вызываются методы делегата didstartprovisionalnavigation и didendprovisonalnavigation.
  3. Оба кода ответа 200
  4. Наконец я вижу пустую страницу. В методе DidFailProvisionalNavigation нет записи.

При вызове URL-адреса в веб-просмотре происходит обработка на стороне сервера, выполняется аутентификация с помощью OKTA, и мы получаем окончательный ответ в виде веб-страницы, например, https://www.compname.com/file .

Это загружается в браузерах Safari, Chrome также в браузере симулятора ios, но не в wkwebview.

Я установил для ключа произвольных загрузок значение YES, есть промежуточная страница, которая правильно отображается после выполнения первого запроса. Следующее перенаправление/внутренние запросы приводят к пустой странице с кодом ответа 200 .

РЕДАКТИРОВАТЬ: также этот URL-адрес хорошо загружается в SFSafariviewController.

Я пропустил какое-либо обслуживание сеанса? так как два раза запросы загружаются и заканчиваются? Пожалуйста, помогите


person Vinod    schedule 23.02.2021    source источник


Ответы (1)


При загрузке URL-запроса в WKWebView вам также необходимо указать схему (http/https) в URL-адресе.

Таким образом, URL-адрес должен быть таким:

let url = URL(string: "http://www.compname.com/file")
person The Mach System    schedule 24.02.2021
comment
Да, отредактировано, извините, я пропустил это, чтобы опубликовать здесь, я использую строку как companme.com/file - person Vinod; 24.02.2021