多个-隔离-同一应用程序中的WkWebViews-macOS

时间:2019-06-07 12:24:51

标签: cocoa wkwebview

假设我要并排显示两个WkWebView,每个WkWebView登录到相同的网站,但是使用两个不同的帐户。登录(和其他数据)应在两次启动之间保持不变

根据这个2017年的wwdc演讲,可以做到。这就是我得到的结果:他们共享数据。

enter image description here

这就是我想要的,而不是共享数据。

enter image description here

根据发言人的说法,这是可能的。他只是不说怎么做。

我尝试过的几种方法

实例化一个新的WkWebView 。没关系。他们仍然共享数据。我试图从情节提要和代码中实例化。

更改我的捆绑包标识符。这不是可行的解决方案,因为我希望两个数据存储并排运行。但这有效,而且似乎数据(无cookie)存储在/Users/username/Library/WebKit/(bundle-identifier)

使用WKProcessPool实例化一个新的webView.configuration.processPool = WKProcessPool() 。没什么。

自己处理Cookie 。这将是我的不得已的方法。我将WKWebsiteDataStore设置为.nonPersistent(),并在打开和关闭时在我自己的商店中保存和删除cookie(cookie观察者不会在nonPersistent中触发)。不好的三种方式:1.我需要一个安全的地方存储它们-(钥匙串)? 2.无论本地存储中的站点是什么,它都不会持久存在:3:增加工作量和复杂性

0 个答案:

没有答案