如何使用WKWebView进行清单请求



我试图在我的应用中使用新的WebView,但似乎 WKWebView无法使用NSURLCache,并且Manifest请求不起作用,没有加载请求,也没有存储任何存储。

除了使用NSURLCacheManifest外,使用WKWebView而不是UIWebView,一切似乎都更好地奏效了,所以我想知道是否有一些解决此问题的方法。

P.S。我已经尝试了私有API _setOfflineApplicationCacheIsEnabled:,并且确实有效,但是使用非公共API的应用程序将被Apple拒绝...我现在没有想法。

现在,wkwebview实例将忽略任何默认网络存储(nsurlcache,nsurlcache,nshttpcookiestorage,nscredentialStorage),也可以使用标准网络类别来自定义网络请求(NSURLLPROTOTOCOL,等))。

因此,wkwebview实例的cookie不存储在您的应用程序的标准cookie存储中,因此,仅使用标准cookie存储的nsurlsession/nsurlConnection无法访问WKWebView的cookie(正是这可能是问题所在您有:"登录状态"很可能存储在cookie中,但是nsurlsession/nsurlconnection不会看到cookie)。

缓存,凭据等也是如此。WKWebView具有自己的私人储藏,因此与标准可可网络类别不佳。

您也无法自定义请求(添加您自己的自定义HTTP标头,修改现有标头等),使用您自己的自定义URL方案等,因为WKWebView也不支持NsurlProtocol。

因此,现在WKWebView对于许多应用程序都没有用,因为它不参与可可的标准网络API。

相关内容

  • 没有找到相关文章

最新更新