WKWebView无法加载网页求助(Swift4、iOS11、Xcode9.3)
解决WKWebView无法加载网页的问题
嘿,我看了你的问题和代码,发现几个关键问题,咱们一步步来搞定:
1. 代码里的核心遗漏:没有发起加载请求
你在displayWebPage方法里只创建了URL对象,但完全没告诉WKWebView去加载这个地址!而且你的URL字符串还被截断了("https://www.google.com.a..."),得先补全正确的网址。
修正后的displayWebPage方法应该是这样的:
private func displayWebPage() { // 先补全正确的URL guard let url = URL(string: "https://www.google.com.au") else { print("URL格式错误") return } // 创建URL请求并让webView加载 let request = URLRequest(url: url) webView.load(request) }
2. 检查ATS配置的完整性
虽然你设置了Allow Arbitrary Loads为YES,但要确保info.plist里的ATS配置没有冲突项:
- 打开
info.plist,找到NSAppTransportSecurity字典 - 确认里面只有
NSAllowsArbitraryLoads设为YES,没有其他比如NSExceptionDomains这类限制谷歌域名的配置 - 如果是iOS 10及以上,也可以尝试添加
NSAllowsArbitraryLoadsInWebContent并设为YES(这个是专门针对WKWebView的ATS配置,有时候全局配置可能被其他设置覆盖)
3. 排除网络环境限制
谷歌在部分地区可能无法直接访问,你可以先测试加载其他稳定的HTTPS网站(比如https://www.apple.com),如果这个能正常加载,那大概率是目标网站的网络访问限制问题,和代码、ATS无关。
按照这几步排查下来,应该就能解决你的问题啦!
内容的提问来源于stack exchange,提问作者Matthew Cho
相关产品推荐
相关产品推荐

