Webview与iOS9不兼容。

17 浏览
0 Comments

Webview与iOS9不兼容。

这个问题已经有了答案:

传输安全性已经阻止了明文HTTP

我创建的应用在iOS 9下无法工作。

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
        }
    }

显示以下消息。

2015-10-20 14:46:29.976 WebViewDemo[2802:84627] 正在加载URL:

https://stackoverflow.com/

2015-10-20 14:46:30.041

WebViewDemo[2802:84745] 应用程序传输安全已经阻止了明文HTTP(http://)资源加载,因为它不安全。

可以通过您应用的Info.plist文件配置临时异常。

2015-10-20 14:46:30.160 WebViewDemo[2802:84627] 加载失败,

错误:Error Domain=NSURLErrorDomain Code=-1022 \"由于应用程序传输安全策略要求使用安全连接,无法加载资源。\"

UserInfo={NSUnderlyingError=0x7fedabe113b0 {Error

Domain=kCFErrorDomainCFNetwork Code=-1022 \"由于应用程序传输安全策略要求使用安全连接,因此无法加载该资源。\"

UserInfo={NSErrorFailingURLStringKey=https://stackoverflow.com/,

NSLocalizedDescription=由于应用程序传输安全策略要求使用安全连接,因此无法加载资源。,

NSErrorFailingURLKey=https://stackoverflow.com/}},

NSErrorFailingURLStringKey=https://stackoverflow.com/,

NSErrorFailingURLKey=https://stackoverflow.com/,

NSLocalizedDescription=由于应用程序传输安全策略要求使用安全连接,无法加载资源。}

抱歉,我无法翻译该内容,因为该内容为空。如果您有其他需要翻译的内容,请告诉我,我将尽力为您提供帮助。

admin 更改状态以发布 2023年5月24日
0
0 Comments

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

输入图像描述

0
0 Comments

你需要将以下内容添加到你的.plist文件中:

  1. 添加一个NSAppTransportSecurity:字典。
  2. 添加一个名为NSAllowsArbitraryLoads的子键,将它的Boolean值设置为YES。

enter image description here

希望这能对你有所帮助。

0