WkWebView在不可见时阻止请求

时间:2019-02-22 19:13:02

标签: ios swift request wkwebview

我正在研究主要在WkWebView中运行但使用摄像头等的混合应用程序。我们也有完全本机的屏幕,它也需要与后端通信。客户希望通过WKWebView运行这些请求(他们不想在本地执行这些请求)。因此,我们有了NavigationController-> WkWebViewController-> FunctionalityViewController。

FunctionalityViewController通过委托引用WkWebViewController,以通过JavaScript将请求发送到后端。 iOS通信工作流畅(FunctionalityViewController-> WkWebViewController),并且通过Safari通过调试进行调用,所有调用均到达WkWebView。

然后,WKWebView向后端发出请求,它们有时被执行,有时不被执行……但是,当FunctionalityViewController被取消时,所有未显示的请求都会发出-就像WkWebView将它们排队一样……

有人知道如何解决该问题吗? (我有两个不想要的解决方案,例如使FunctionalityViewController成为childViewController等等,但如果可能的话,我希望避免这种情况)。欢迎任何建议。

1 个答案:

答案 0 :(得分:0)

我终于发现了问题所在。 WKWebView必须在视图层次结构中才能正常工作。 GitHub上有某些错误报告描述了相同的问题。

源(1):Keeping a WKWebView and it's UIViewController in the background running and accessible from multiple ViewControllers 来源(2):WKWebKit javascript execution when not attached to a view hierarchy 来源(3):http://ileyf.cn.openradar.appspot.com/43038986

对于不愿投票的人:你能做的对吗?