2015-10-20 75 views
0

我创造应用程序,它不与iOS 9.工作网页视图不与iOS9

import UIKit 

    class WebViewController: UIViewController, UIWebViewDelegate { 

     @IBOutlet var webView: UIWebView! 
     override func viewDidLoad() 
     { 
      super.viewDidLoad() 
      // Do any additional setup after loading the view. 

      let requestURL = NSURL(string:"http://stackoverflow.com") 
      let request = NSURLRequest(URL: requestURL!) 
      webView.loadRequest(request) 

      webView.delegate = self 

     } 

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

     func webViewDidStartLoad(webView: UIWebView) 
     { 
      print("Load started") 
      UIApplication.sharedApplication().networkActivityIndicatorVisible = true 
     } 
     func webViewDidFinishLoad(webView: UIWebView) 
     { 
      print("Load finished") 
      UIApplication .sharedApplication().networkActivityIndicatorVisible = false 

     } 
     func webView(webView: UIWebView, didFailLoadWithError error: NSError?) 
     { 
      print("Error = ", error) 
     } 
     func webView(webView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -> Bool 
     { 
      print("URl ", request.URL?.absoluteString) 
      return true 
     } 
    } 

显示该消息的工作。

二○一五年十月二十○日14:46:29.976 WebViewDemo [2802:84627]加载URL :https://stackoverflow.com/二○一五年十月二十○日14:46:30.041 WebViewDemo [2802:84745]应用传输安全性已阻止明文 HTTP(http://)资源负载,因为它是不安全的。临时 异常可以通过应用程序的Info.plist文件进行配置。 2015-10-20 14:46:30.160 WebViewDemo [2802:84627]无法加载 错误:错误域= NSURLErrorDomain代码= -1022“资源可能不会加载 ,因为应用传输安全策略要求使用 的安全连接。“ UserInfo = {NSUnderlyingError = 0x7fedabe113b0 {错误 Domain = kCFErrorDomainCFNetwork Code = -1022“由于App Transport Security策略要求使用 安全连接,因此加载的资源不能为 。” 的UserInfo = {NSErrorFailingURLStringKey = https://stackoverflow.com/, NSLocalizedDescription =因为 应用传输安全策略需要使用安全 连接的资源无法加载,NSErrorFailingURLKey = https://stackoverflow.com/}}, NSErrorFailingURLStringKey = https://stackoverflow.com/, NSErrorFailingURLKey = https://stackoverflow.com/, NSLocalizedDescription =资源不能因为 应用传输安全策略需要使用安全 连接的负载。}

+0

在IOS 9钕之后,我们需要添加NSAppTransportSecurity在info.plist中 开放的Info.plist作为源代码复制并粘贴在最后。 NSAppTransportSecurity NSAllowsArbitraryLoads

+0

我不会说这* *需要被完成。理想情况下,您应尽可能使用安全连接。即HTTPS而不是HTTP。 –

+0

也是导致此错误的相同代码?因为错误是加载堆栈溢出错误,而不是Google代码中的错误。因此,对于这个例子(基于你的错误)使用'https:// stackoverflow.com'因为堆栈溢出确实支持HTTPS连接。 –

回答

2

你必须在添加此您的.plist文件

  1. 添加一个NSAppTransportSecurity:字典。
  2. 命名
  3. 添加子项:NSAllowsArbitraryLoadsBoolean:是

enter image description here

希望这会帮助你。

0

在您的.plist文件的NSAppTransportSecurity字典下,将NSAllowsArbitraryLoads键设置为YES。如果NSAppTransportSecurity不存在手动写入。

enter image description here