微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

当 iOS 中的单个请求中发生几个重定向时,WKWebview 不会加载

如何解决当 iOS 中的单个请求中发生几个重定向时,WKWebview 不会加载

在我的 iOS 应用程序中,单击按钮后,我正在调用 API 并获取 URL 字符串作为响应。接下来,我使用 loadrequest 在 WKWebView 中加载该 URL。现在

  1. 初始页面加载并发生进一步重定向
  2. 调用了两次 didstartprovisionalnavigation 和 didendprovisonalnavigation 委托方法
  3. 两个响应代码都是 200
  4. 最后我看到了一个空白页。 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")

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。