美文网首页
App cookie备忘录

App cookie备忘录

作者: 转岗做JAVA | 来源:发表于2022-01-11 19:50 被阅读0次
  • session 级别的cookie同步问题。
    测试步骤,new三个不同的configuration初始化三个webview,通过js往其中一个webview写会话cookie,另外两个通过js取。
    测试结果:iOS 15、15.1上不同的process pool,session 级别的cookie也可以同步;iOS 13.7上不同的process pool,session级别的cookie不会同步;
    结论:不同版本系统对于webview session级别的cookie同步处理不一致,为了使得各个版本行为一致,强烈建议共享process pool。

  • Android webView因为chrome安全机制问题,加载本地文件不支持cookie。

  • NSHTTPCookieStorage和WKHTTPCookieStore之间会有同步关系,但是有一定的延迟,用7P(iOS 13.7)测试看下来有一两秒的样子;
    iOS 11以上两者都有操作cookie的api,所以我们可以自己介入同步处理逻辑,建议尽量只手动处理自己业务的cookie。

  • 测试时发现11.4、13.7、15.1设备上持久化的cookie均存在Library/Cookies/Cookies.binarycookies文件里,推测iOS 11以上应该都是。NSHTTPCookieStorage能实时更新,WKHTTPCookieStore并不会实时更新,所以调用getAllCookies方法是有可能会拿不到最新值。另外NSHTTPCookieStorage取的效率高于WKHTTPCookieStore几倍到十几倍不等。

想要查看binarycookies的值,可以在github上搜索对应的python脚本

  • WKHTTPCookieStore中cookie的变化可以监听,测试下来发现需要在webview加载完成的回调中添加监听才能生效,且每次document.cookie方法操作时,都会触发一次回调,所以可能只加载一个页面也会触发很多次监听回调。

相关文章

网友评论

      本文标题:App cookie备忘录

      本文链接:https://www.haomeiwen.com/subject/mqkicrtx.html