2015-07-01 3 views
2

Я новичок в Swift/iOS и пытаюсь использовать webView для просмотра URL-адреса. Поиск этот сайт и бесчисленное множество других мне удалось быть в состоянии получить доступ к Google с помощьюПустой экран при использовании http в webView iOS Swift

var url = NSURL(string: "https://www.google.com") 

Это прекрасно работает с «HTTPS», но не работает, если я использую «HTTP». Является ли «s» параметром безопасности? Как просмотреть сайты с «URL-схемой» «http». Надеюсь, вы сможете помочь.

import UIKit 
import WebKit 
import Foundation 

class ViewController: UIViewController { 

    @IBOutlet var containerView : UIView? = nil 

    var webView:WKWebView? 

    //instatiating the webView 
    override func loadView() { 
     super.loadView() 
     self.webView = WKWebView() 
     self.view = self.webView 
    } 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     //Loading and showing a web-page 
     var url = NSURL(string: "https://www.google.com") 
     //var url = NSURL(string: "http://www.google.com") 
     var req = NSURLRequest(URL:url!) 
     self.webView!.loadRequest(req) 
    } 
} 
+0

Пытались ли вы с http://stackoverflow.com/? – Meet

+0

у вас установлен делегат WebView – Dalvik

+0

Я предполагаю, что вы пытаетесь это сделать с iOS9? Посмотрите первые 5 минут [Session 706 - Безопасность и ваши приложения] (https://developer.apple.com/videos/wwdc/2015/?id=706) –

ответ

0

Попробуйте с http://stackoverflow.com. он работал для меня

 
     var url = NSURL(string: "http://stackoverflow.com/")
//var url = NSURL(string: "http://www.google.com")//Comment this
var req = NSURLRequest(URL:url!)
self.webView!.loadRequest(req)
+0

Привет @Meet {(http://stackoverflow.com))} не работал для меня. Но: {(https://stackoverflow.com)} работал нормально. Привет RahuMishra Можете ли вы рассказать о том, как «установить делегат для веб-просмотра.Я имею ссылку ReferationOutlet из containerView в ViewController. Спасибо – Wendel

+0

Когда я добавил s, он работал нормально для stackOverflow, но он не работал без s. – Wendel

+0

Привет @Filip Radelic Я использовал iOS8.3 и теперь обновлен до iOS8.4. Я просмотрел Session 706 - он упоминает «по умолчанию, приложения, связанные с iOS9 X10.11, не могут создавать незащищенные http-соединения». Знаете ли вы о настройке в iOS, которая будет разрешите мне просматривать http-сайты в iOS8.4. Является ли моя проблема ошибкой в ​​iOS? – Wendel

1

Редактирования info.plist и добавления App Параметров безопасности транспорта и добавить к этим разрешающим Произвольные нагрузкам и Boolean = да

1

просто добавьте эту строку в информации info.plist . plist - это XML-файл, поэтому вы можете разместить этот код более или менее где угодно внутри файла. это конфигурация, чтобы конкретный домен использовать HTTP вместо HTTPS:

<key>NSAppTransportSecurity</key> 
<dict> 
<!--Include to allow all connections (DANGER)--> 
    <key>NSAllowsArbitraryLoads</key> 
    <true/> 
</dict> 
Смежные вопросы