问题描述
在我的 iOS 应用程序中,单击按钮后,我正在调用 API 并获取 URL 字符串作为响应。接下来,我使用 loadrequest 在 WKWebView 中加载该 URL。现在
- 初始页面加载并发生进一步重定向
- 调用了两次 didstartprovisionalnavigation 和 didendprovisonalnavigation 委托方法。
- 两个响应代码都是 200
- 最后我看到了一个空白页。 DidFailProvisionalNavigation 方法中没有条目。
在webview中调用url后,有一个服务器端处理,通过OKTA进行身份验证,我们得到最终响应的网页,例如,https://www.compname.com/file。
这会在浏览器 safari 中加载,chrome 也在 ios 模拟器浏览器中加载,但不会在 wkwebview 中加载。
我已将 Arbitary loading 键设置为 YES ,有一个在完成第一个请求后正确显示的中间页面。下一个重定向/内部请求导致空白页面,响应代码为 200 。
编辑:此 URL 在 SFSafariviewController 中也能很好地加载
我是否缺少任何会话维护?因为两次请求加载和完成?请帮忙
解决方法
在 WKWebView
中加载 url 请求时,您还需要在 url 中指定方案 (http/https)。
所以网址应该是这样的:
let url = URL(string: "http://www.compname.com/file")