iOS Swift项目中的UIWebView给出一个白色屏幕,输出“__connection_block_invoke_2中的错误:连接中断”

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS Swift项目中的UIWebView给出一个白色屏幕,输出“__connection_block_invoke_2中的错误:连接中断”相关的知识,希望对你有一定的参考价值。

我有一个非常简单的ios Swift项目的问题。目的是通过UIWebView(最终Crosswalk)加载URL。我的代码如下:

import UIKit
import WebKit

class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()

        let myWebView:UIWebView = UIWebView(frame: CGRectMake(0, 0, UIScreen.mainScreen().bounds.width, UIScreen.mainScreen().bounds.height));       
        let url = NSURL (string: "https://www.www.google.com/");
        let requestObj = NSURLRequest(URL: url!);
        myWebView.loadRequest(requestObj);
        self.view.addSubview(myWebView);
    }

    override func prefersStatusBarHidden() -> Bool {
        return true
    }
}

当它运行时(iPod Touch 6th Gen 16b上的iOS 9.3.4,如果这很重要),它会显示一个完全白屏并坐在那里。片刻之后,Xcode输出窗口显示:

__connection_block_invoke_2中的错误:连接中断

谁能告诉我我做错了什么?代码看起来不错吗?也许我说错了?我环顾四周,每个人都有不同的答案,但这些似乎都不是我的问题。

我对iOS和Swift开发知之甚少,所以如果这是一个微不足道的问题我很抱歉,但我很感激可以给予任何帮助。

答案

我不知道你是否将TransportSecurity添加到你的info.plist,如果没有添加这样的代码行到你的项目,因为从ios 9 apple更改TransportSecurity然后在你的代码中你有2'www'在“https://www.www.google.com/”我修复了并检查,它像魅力一样工作

  <key>NSAppTransportSecurity</key>
 <dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSExceptionDomains</key>
<dict>
    <key>your.URL.come</key>
    <dict>
        <key>NSExceptionAllowsInsecureHTTPLoads</key>
        <true/>
        <key>NSIncludesSubdomains</key>
        <true/>
    </dict>
</dict>

以上是关于iOS Swift项目中的UIWebView给出一个白色屏幕,输出“__connection_block_invoke_2中的错误:连接中断”的主要内容,如果未能解决你的问题,请参考以下文章

使用swift在ios的Uiwebview中添加参数

swift 笔记:iOS与JavaScript的交互(一):UIWebView - 2.1 UIWebViewDelegate

swift 笔记:iOS与JavaScript的交互(一):UIWebView - 2.加载本地网页

swift 笔记:iOS与JavaScript的交互(一):UIWebView - 1.加载在线网页

swift 笔记:iOS与JavaScript的交互(一):UIWebView - 2.2注入JavaScript

swift 笔记:iOS与JavaScript的交互(一):UIWebView - 3.2 native对协议链接拦截