2017-05-25 1 views
2

Mon WebView ne se charge pas seulement ici vide blanc est mon codeNSURL WebView not loading

// 
// SecondViewController.swift 
// Bachelmatt Garage 
// 
// Created by Thilo Jaeggi on 24.05.17. 
// Copyright © 2017 Thilo Jaeggi. All rights reserved. 
// 

import UIKit 

class SecondViewController: UIViewController { 
@IBOutlet var webView: UIWebView! 
override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 
    let url = URL (string: "http://www.sourcefreeze.com"); 
    let request = URLRequest(url: url!); 
    webView.loadRequest(request); 
} 


override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 


} 

je l'ai déjà posé la même question il y a un an et entendu que j'ai besoin d'une certaine manière à permettre un « paramètre de sécurité » dans Xcode est-ce le même cas ici? Merci d'avance.

+1

avez-vous ajouté le nstransportsecurity dans votre plist –

+0

Avez-vous lier le webView à Xib ou Storyboard? –

+0

Pourriez-vous me montrer comment faire cela Anbu.Karthik? – Zarkex

Répondre

1

S'il vous plaît ajoutez la ligne suivante dans votre fichier Info.plist (ouvert code source)

<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSAllowsArbitraryLoads</key> 
    <true/> 
</dict> 

Pour plus d'informations s'il vous plaît vérifier ce Transport security has blocked a cleartext HTTP

Merci

0

Ouvrez votre info.plist comme Code source et ajouter

<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSAllowsArbitraryLoads</key> 
    <true/> 
</dict> 

Ensuite, procédez comme indiqué ci-dessus w:

override func viewDidLoad() { 
    super.viewDidLoad() 
webView.loadRequest(URLRequest(url: URL(string: "http://www.sourcefreeze.com")!)) 
} 
0

Eh bien, il fonctionne parfaitement: Voir le code ci-dessous:

import UIKit 
import SVProgressHUD 

class ConditionsViewController: UIViewController, UIWebViewDelegate { 

    @IBOutlet weak var webVw: UIWebView! 


    override func viewDidLoad() { 
     super.viewDidLoad() 


     SVProgressHUD.show(withStatus: "Loading") 

     webVw.delegate = self 

     let url = URL (string: "http://www.sourcefreeze.com"); 
     let request = URLRequest(url: url!); 
     webVw.loadRequest(request); 
    } 

    func webViewDidFinishLoad(_ webView: UIWebView) { 

     SVProgressHUD.dismiss() 
    } 

enter image description hereenter image description here

Edité

import UIKit 
    // import SVProgressHUD 

    class ConditionsViewController: UIViewController, UIWebViewDelegate { 

     @IBOutlet weak var webVw: UIWebView! 


     override func viewDidLoad() { 
      super.viewDidLoad() 


      SVProgressHUD.show(withStatus: "Loading") 

      webVw.delegate = self 

      let url = URL (string: "http://www.sourcefreeze.com"); 
      let request = URLRequest(url: url!); 
      webVw.loadRequest(request); 
     } 

     func webViewDidFinishLoad(_ webView: UIWebView) { 

      //SVProgressHUD.dismiss() 

      print("Loaded") 

// Here it will print 2-3 sec later, in that mean time your page will load in your view controller 
     } 

Principalement j'ai ajouté UIWebViewDelegate et son del méthode de l'acétate webViewDidFinishLoad. Eh bien, essayez-le, cela fonctionnera définitivement.

+0

Comment as-tu fait ce chargement? – Zarkex

+0

Aucun tel Module SVProgressHUD – Zarkex

+0

Ne vous inquiétez pas pour 'SVProgressHUD' c'est une classe tierce. sans cela faire .. –