【发布时间】:2021-12-11 05:51:41
【问题描述】:
我们有一个 iOS 应用程序,它使用 WkWebView 在 Apple iPod 上加载 Web 应用程序。它支持自动登录功能,无需用户手动输入凭据。我们使用带有凭据的 POST html 表单提交逻辑来模拟自动登录。
Web 应用程序有 15 分钟的超时,之后,用户将被注销并重定向到登录屏幕,并且将在登录屏幕上显示一条名为“超时”的消息。
我们看到的问题是,每当用户重新启动应用程序时(此时无论是在后台还是前台都没有运行),期望表单提交将作为 HTML 加载到 webview 上,并且任一用户都将登录(如果凭据正确)(或)用户将被重定向到登录屏幕(带有无效凭据消息)。
webview.loadHTMLString(html, baseURL: myURL)
但在这种情况下,用户会被重定向到登录屏幕,并显示一条消息“超时”(这是应用程序的先前状态)。用户试图杀死应用程序(双击主页按钮并向上滑动)并重新启动应用程序,经过 2-3 次尝试,他成功通过身份验证并进入主屏幕。在前 2-3 次尝试中,他看到的“超时”消息是意料之外的。
WKWebView 是否出于某种原因缓存页面(或)iOS 应用程序做错了什么?任何有关如何调试的建议将不胜感激。
注意:我们的业务不希望清除缓存,因为每次在没有缓存的情况下加载大约需要 20 秒。因此我们缓存了应用程序。
【问题讨论】:
标签: ios swift caching browser wkwebview