gpt4 book ai didi

swift - 将 Internet url 加载到 Webview

转载 作者:搜寻专家 更新时间:2023-11-01 06:43:14 26 4
gpt4 key购买 nike

我正在开发一个项目,我想将互联网 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))
}

但这似乎没有用。

最佳答案

Apple 在 iOS9 中引入了 App Transport Security。这是一项新的安全功能,可在处理 Web 请求时强制实现某些安全措施。例如,它不允许通过 HTTP 发送请求,因为它只允许 HTTPS 请求。好消息是,您可以通过将此添加到项目的 Info.plist 文件来覆盖这些安全要求:

<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>

请注意,这会规避 ATS 附带的所有安全要求。仅当确实没有其他方法时,才应在生产中使用它。如果您只访问 1 个非 HTTP url,则只能为该 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>

关于swift - 将 Internet url 加载到 Webview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33497266/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com