Search code examples
swiftxcodewebviewuiwebviewswift5

How can I open redirected page in webview?


I have some issues with converting data. My code looks like:

let task = URLSession.shared.dataTask(with: request) { data, response, error in
                guard let data = data,
                    let response = response as? HTTPURLResponse,
                    error == nil else {
                        // check for fundamental networking error
                        print("error", error ?? "Unknown error")
                        return
                }

                guard (200 ... 299) ~= response.statusCode else {
                    // check for http errors
                    print("statusCode should be 2xx, but is \(response.statusCode)")
                    print("response = \(response)")
                    return
                }
                let responseString = String(data: data, encoding: .utf8)
                print("responseString = \(responseString ?? "")")
                DispatchQueue.main.async {
                    let webVC = WebViewController(urlString: responseString!)
                    self.navigationController?.pushViewController(webVC, animated: true)
                }

            } task.resume()

responseString prints: "html page code"

Need I convert data to urlString or something similar to url? How can I solve it? Thank you for your time


Solution

  • Loading a HTML string in a WKWebview (just import WebKit)

    let webView = WKWebView()
    webView.loadHTMLString("<html><body><p>Hello!</p></body></html>", baseURL: nil)
    

    Loading a HTML string in a UIWebview

    let webView = UIWebView()
    webView.loadHTMLString("<html><body><p>Hello!</p></body></html>", baseURL: nil)
    

    If this is not what you are looking for, add more points to make your question understandable, thanks :)