WKWebView nicht laden-Webseite dargestellt leere Bildschirm in Swift

Dieser code sollte zum laden der Apple-homepage, sondern zeigt einen leeren Bildschirm.

Dies geschieht mit HTTP-und HTTPS-URLs.

Code:

import UIKit
import WebKit

class WebViewController: UIViewController, WKUIDelegate{

    var webView: WKWebView!

    override func loadView() {
        let webConfiguration = WKWebViewConfiguration()
        webView = WKWebView(frame: .zero, configuration: webConfiguration)
        webView.uiDelegate = self
        view = webView

    }
    override func viewDidLoad() {
        super.viewDidLoad()

        view.backgroundColor = .red

        let myURL = URL(string: "https://www.apple.com")
        let myRequest = URLRequest(url: myURL!)
        webView.load(myRequest)
    }
}

Ich habe versucht, die änderung von "App-Transport-Security-Einstellungen' können Sie beliebigen laden. Nicht etwas ändern.

Screenshots:

View-Hierarchie:

WKWebView nicht laden-Webseite dargestellt leere Bildschirm in Swift

Safari-debug-Konsole für den simulator:

WKWebView nicht laden-Webseite dargestellt leere Bildschirm in Swift

WKWebView nicht laden-Webseite dargestellt leere Bildschirm in Swift

  • Dein code funktioniert einwandfrei. Ich habe versucht, es im demo. Ich denke, es könnte andere Frage.
  • Ich habe nicht alle storyboard-Dateien in meine app. Alle seine code.
  • Wann ist loadView genannt? Ist es vor oder nach viewDidLoad? Ich sehe nicht, rief es überall, und das ist, wo Sie tatsächlich erstellen Sie Ihre web-Ansicht
  • Ja der code ist von der Apple-website, aber weiß nicht, warum ich nicht bekommen kann es arbeiten. Es ist das erste mal, dass ich bin mit WKWebView.
  • Ja. Sie haben es gut funktioniert. versuchen Sie nur diesen code in einer demo.
  • loadView wird aufgerufen, bevor viewDidLoad
  • Nur weil der code für loadView geschrieben, bevor viewDidLoad, macht es nicht automatisch aufgerufen werden, bevor.
  • Dieser code ist aus dem apples offizielle Leitfaden für Entwickler WkWebView
  • Und Sie sagen, dass loadView wird zuerst aufgerufen?
  • ja so sieht es aus. developer.apple.com/documentation/uikit/uiviewcontroller/...
  • Ich weiß nicht, ob dies der einzige Weg ist, aber ich habe eine-webkit-Ansicht in der storyboard, eine Steckdose für es @IBOutlet weak var webView: WKWebView! , entfernt Ihre webView var und ersetzt es mit diesem Anschluss (Linie 7 glaube ich), und es funktioniert.
  • Meine app kein storyboard oder nib-Dateien an. Alle seine in-code. Was soll ich tun?
  • Wie funktioniert Xcode wissen, welche Ansicht zuerst geladen? Die leere Leinwand ist nicht, weil die Seite nicht laden, es ist, weil die anzeigen ist nicht. Versuchen Sie, den Bildschirm zu sagen "Hallo", mit code, und wir werden es von dort nehmen.
  • Ansicht ist definitiv laden, siehe screenshot für die erfassten view-Hierarchie. Setze ich die Hintergrundfarbe rot. Ich habe auch Haltepunkt für beide Methoden, und Sie sind in der Ausführung sicher.
  • Hast du es geschafft, "Hallo" auf dem Bildschirm, indem Sie code in der gleichen Datei, mit der wir arbeiten?
  • Ich habe die gleichen Probleme, WKWebView funktioniert auf dem Gerät, aber kein Simulator. Allerdings UIWebView funktioniert im Simulator. Ich habe BitDefender auf meinem Mac installiert, könnte das sein, was die Ursache WKWebView nicht in der Sim?
  • Könnte es sein. Öffnen Sie eine beliebige iPhone-simulator und starten Sie die safari-app auf dem simulator, wenn Sie nicht in der Lage, laden von websites, die auf dem simulator safari, es ist eine gute chance, dass der Täter sein könnte Bitdefender oder eine ähnliche software auf dem computer installiert, blockiert das Netzwerk
  • Hier ist die Antwort auf eine Frage, die mit einem ähnlichen problem! stackoverflow.com/questions/44285901/...

Schreibe einen Kommentar