Xcode WKWebView (IOS) не загружает веб-страницу, белый экран - PullRequest
0 голосов
/ 28 ноября 2018

Я искал несколько часов и перепробовал множество решений, но ни одно из них не работает.

Я отключил свой веб-щит AVG, добавил его в свой список в разделе Транспорт приложений

    <key>NSAllowsArbitraryLoads</key>
    <true/>
    <key>NSExceptionAllowsInsecureHTTPLoads</key>
    <true/>
    <key>NSIncludesSubdomains</key>
    <true/>
    <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
    <true/>
    <key>NSAllowsArbitraryLoadsInWebContent</key>
    <true/>

Код ниже

    let link = URL(string: "https://stackoverflow.com")!
    let req = URLRequest(url: link)
    webView.navigationDelegate = self
    webView.uiDelegate = self
    self.view.addSubview(webView)
    self.view.bringSubview(toFront: webView)
    self.webView!.load(req)

Я очень озадачен, почему не загружается ни одна веб-страница

Я пробовал http и https

Я устал от нескольких сайтов, не повезло

он просто остается на пустом белом экране

Ответы [ 2 ]

0 голосов
/ 28 ноября 2018

Я получаю это в приложениях OSX и работаю для того, чтобы перейти к общим настройкам приложения, режим песочницы включается и выключается снова.Работает каждый раз для меня на приложениях OSX

0 голосов
/ 28 ноября 2018

Ваш код работает на моей игровой площадке, поэтому что-то не так с тем, как вы создаете веб-представление или с ограничениями.Смотрите пример:

import UIKit
import PlaygroundSupport
import WebKit

class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        let webView = WKWebView()
        view.addSubview(webView)
        webView.translatesAutoresizingMaskIntoConstraints = false
        webView.topAnchor.constraint(equalTo: view.topAnchor).isActive = true
        webView.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true
        webView.leadingAnchor.constraint(equalTo: view.leadingAnchor).isActive = true
        webView.trailingAnchor.constraint(equalTo: view.trailingAnchor).isActive = true

        let link = URL(string: "https://stackoverflow.com")!
        let req = URLRequest(url: link)
        webView.load(req)
        view.setNeedsLayout()
    }
}

PlaygroundPage.current.needsIndefiniteExecution = true
PlaygroundPage.current.liveView = ViewController()
...