我正在开展一个项目,我想将互联网URL
加载到我的UIWebView
我设法加载了一个本地存储的html文件,如下所示:
if let url = NSBundle.mainBundle().URLForResource("index", withExtension: "html") {
webView.loadRequest(NSURLRequest(URL: url))
}
基于此,我尝试这样做:
if let url = NSURL(string: "http://google.com") {
webView.loadRequest(NSURLRequest(URL: url))
}
但这似乎不起作用。
答案 0 :(得分:2)
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
请注意,这会绕过ATS附带的所有安全要求。 只有在没有其他方法的情况下才应该在生产中使用它。如果您只访问1个非HTTP网址,则只能为该1个网域禁用ATS:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>yourdomain.com</key>
<dict>
<!--Include to allow subdomains-->
<key>NSIncludesSubdomains</key>
<true/>
<!--Include to allow HTTP requests-->
<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
</dict>
</dict>
答案 1 :(得分:1)
正如joern所说,如果你不想覆盖它,安全更新要求所有请求都是通过HTTPS。
因此,基本的快速解决方法是将链接更改为https。
这样的事情:
if let url = NSURL(string: "https://google.com") {
webView.loadRequest(NSURLRequest(URL: url))
}
答案 2 :(得分:0)
尝试以下代码:
let url = "http://google.com"
let requestURL = NSURL(string:url)
let request = NSURLRequest(URL: requestURL!)
WebView.loadRequest(request)