Перехватывать и изменять запросы ресурсов / URL при вызове loadHTMLString UIWebView - PullRequest
0 голосов
/ 03 июля 2018

Я загружаю некоторую строку HTML в UIWebView, используя метод loadHTMLString.

[self.myWebView loadHTMLString:html baseURL:baseURL];

Строка HTML выглядит примерно так:

<html>
    <head></head>
    <body>
        <!-- [DocumentBodyStart:9ab3216e-b945-4432-141f-68164c25f0d6] -->
        <div class="jive-rendered-content"> 
            <p class="">Test description</p> 
            <a href="https://a-team-906-test.jivelandia.com/servlet/JiveServlet/previewBody/1091-102-1-1054/IMG_0005.JPG">
                <img src="https://a-team-906-test.jivelandia.com/servlet/JiveServlet/previewBody/1091-102-1-1054/IMG_0005.JPG">
            </a>
        </div>
        <!-- [DocumentBodyEnd:9ab3216e-b945-4432-141f-68164c25f0d6] -->
        <script type="text/javascript" src="web/video-loading-events.js" onerror="alert('cant load video-loading-events.js')"></script>
    </body><br>
</html>

Как видите, в HTML-контенте есть URL-адрес изображения. Проблема в том, что Image не загружается в WebView из-за проблемы аутентификации.

Так, как я могу перехватить этот URL-запрос изображения, чтобы увидеть, что происходит под капотом? И как я могу добавить дополнительные заголовки только с этим конкретным запросом, если это необходимо?

Objective-C предпочтительнее, но Swift также приветствуется. Заранее спасибо.

1 Ответ

0 голосов
/ 03 июля 2018

Хорошее место для начала - изучить использование веб-инспектора safari и выяснить, какие ошибки выводятся на консоль при открытии веб-просмотра в приложении.

Вам потребуется включить веб-инспектор со своего iPhone, а затем убедиться, что в Safari включена функция «Показать меню разработки в Menubar».

Как только оба из них будут выполнены, вы можете перейти к Develop -> <Your device or simulator> -> <your webview> в сафари.

Обновите страницу из окна разработчика и посмотрите, что выходит из системы.

Удачи!

...