Ios WKWebView перехватывает запросы http / https - PullRequest
0 голосов
/ 30 ноября 2019

Моя версия приложения для Android с использованием WebView и использует метод shouldInterceptRequest для предоставления ресурсов SVG, которые загружаются во время выполнения и запрашиваются http/https из WebView. Желательно перенести такое поведение на ios-версию приложения. Однако, похоже, что WKWebView не предоставляет инструментов для перехвата http/https запросов. Учитывая, что обязательно использовать WKWebView, какие стратегии можно использовать для достижения аналогичного поведения на ios?

1 Ответ

0 голосов
/ 17 декабря 2019

В конце концов я в конечном итоге использовать. GCDWebServer

Я настроил локальный веб-сервер следующим образом:

let webServer: GCDWebServer = GCDWebServer()

webServer.addGETHandler(forBasePath: "/", directoryPath: baseResourcePath, indexFilename: "index.html", cacheAge: 0, allowRangeRequests: true)

Затем, чтобы предоставить файлы, которые находятся за пределами каталога index.html, нужно прикрепить пользовательскийполучить обработчик:

webServer.addHandler(forMethod: "GET", pathRegex: "images", request: GCDWebServerRequest.self) { request in
        let fileName = request.path.components(separatedBy: "/images/")[1]
        var documentsURL = FileManager.default.urls(for: .docmentDirectory, in: .userDomainMask)[0]
        documentsURL.appendPathComponent("images/\(fileName)")
        let response = GCDWebServerFileResponse(file: documentsURL.path)
        return response
    }
...