2017-09-03 2 views
1

Essayer d'apprendre dev iOS, mais j'ai le problème suivant webview.load(URLRequest(url: url)) < - la vue reste vide c'est le code que je me sers je story-board pour ajouter une vue webkit (. . comme Web View est dépréciée), mais il ne fonctionne pas comme prévu à l'aide du loadHTMLString fonctionnewebview.load (URLRequest vue reste vide

import UIKit 
import WebKit 

class ViewController: UIViewController { 

    @IBOutlet weak var webview: WKWebView! 
    override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 

     let url = URL(string: "https://www.stackoverflow.com")! 

     //load html string works 
     //webview.loadHTMLString("<h1>Hello world!</h1>hi Marc", baseURL: nil) 
     //load urlrequest does not work, no error, but empty view 
     webview.load(URLRequest(url: url)) 

    } 
+0

Essayez: 'webview.loadRequest (URLRequest (url: URL (string:" https://www.stackoverflow.com ")!))' – emiraslan

Répondre

1

Selon cette conférence sur la WWDC https://developer.apple.com/videos/play/wwdc2016/706/ vous devez ajouter ce code sur votre fichier Info.plist:

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

Vous pouvez ajouter ceci par:

  1. Clic droit sur Info.plist
  2. Open As/Source Code
  3. Insérer le code avant cette balise: </plist>

Hope this vous aider;)

EDIT:

Ceci est pour les URL avec http. L'url https://www.stackoverflow.com/ fonctionne parce qu'il a https. http://www.stackoverflow.com/ ne fonctionnerait pas sans le 's' ou NSAppTransportSecurity.

+0

merci, cela fonctionne, bien que d'autres URL travaillé sans ce morceau de code –

0

Il semble qu'il y ait un problème avec l'URL donnée. J'ai vérifié avec l'autre URL comme https://www.myntra.com https://www.google.com https://www.apple.com. Tous fonctionnent avec le même code, cependant https://www.stackoverflow.com ne fonctionne pas. Donc peut-être le site de Stackoverflow avoir un certain filtrage sur la base du navigateur Web.

+0

en effet, le travail de l'autre URL, mais quand j'ajoute le code de Guiseppe, cette URL fonctionne aussi. Merci de votre aide –