美文网首页
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