Swift中WebView的问题

时间:2016-02-14 22:45:28

标签: ios xcode swift

我尝试使用以下代码加载带有网络视图的网页:

let url = "http://apple.com"
    let requestURL = NSURL(string:url)
    let request = NSURLRequest(URL: requestURL!)
    WebView1.loadRequest(request)

但每当我运行我的iOS应用程序时,它都会崩溃并打开这个屏幕:

Whenever I run my iOS Application, I get this

任何人都知道如何修复它?

2 个答案:

答案 0 :(得分:0)

Swift有一个名为Optional的新类型。它用于表达可空性。在使用之前,您需要打开每个可选值。使用if let语句解包:

let url = "http://apple.com"
if let requestURL = NSURL(string:url) {
    let request = NSURLRequest(URL: requestURL)
    WebView1.loadRequest(request)
}

但你还有另一个问题。为什么不将您的字符串解析为URL?你真的使用“http://apple.com”还是仅仅是一个例子?您的网址字符串格式错误

答案 1 :(得分:0)

此代码仅适用于苹果网站,如果您想在其他网站上使用它,您必须更改info.plist文件并添加网址。希望这可以帮助你

http://ste.vn/2015/06/10/configuring-app-transport-security-ios-9-osx-10-11/

让rect = CGRectMake(0,20,320,460)         让webView = UIWebView(frame:rect)

让url = NSURL(字符串:" https://www.apple.com“)         let request = NSURLRequest(URL:url!)

    webView.loadRequest(request)
    self.view.addSubview(webView)



<key>NSAppTransportSecurity</key>
<dict>
  <key>NSExceptionDomains</key>
  <dict>
    <key>yourserver.com</key>
    <dict>
      <!--Include to allow subdomains-->
      <key>NSIncludesSubdomains</key>
      <true/>
      <!--Include to allow HTTP requests-->
      <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
      <true/>
      <!--Include to specify minimum TLS version-->
      <key>NSTemporaryExceptionMinimumTLSVersion</key>
      <string>TLSv1.1</string>
    </dict>
  </dict>
</dict>
&#13;
&#13;
&#13;