我正在尝试以显式/编程方式设置WKWebView流程池的每域cookie值。我想模拟服务器发送回Set-Cookie
标头时发生的情况。我在这里和其他地方所做的研究表明将其注入JavaScript。我原则上不喜欢这样 - 感觉不对。我想和“负责人”(WebKit内部cookie数据结构)谈谈,不要在最后一秒通过第二语言(JavaScript)注入黑客。
我也这个方法的失败率为1%,可能是由于1)WKWebView
交互的高度异步性,因为所有的网络和JavaScript计算都发生了在一个单独的进程中2)我在登录会话到期时多次重复使用WKWebView
次,并在强制页面重新加载之前重置document.cookie
脚本。
我很惊讶没有像WKWebSiteDataStore.addCookie(value: String, inDomain: NSURL)
那样的东西。事实上它removeDataOfTypes(...)
没有add
或inject
尖叫“给我留下了”巨大的设计漏洞“。
参考文献:
ios9 - Multiple WkWebView sharing cookie WKProcessPool() doesn't work?