【问题标题】:SfSafariViewController and shared cookie storageSfSafariViewController 和共享 cookie 存储
【发布时间】:2019-10-23 14:30:07
【问题描述】:

SFSafariViewController(SVC) 是在 iOS 9 中引入的,SVC 可以从 Mobile safari 而不是从应用程序读取 cookie,它可以写入 cookie,它可以由 Mobile Safari 而不是移动应用程序访问。

上述行为在 iOS 10 之前是相同的。

从 iOS 11 开始 SVC 无法读取 Mobile Safari 的 cookie。

那么,从 iOS 11 开始,cookie 共享的内容在哪里?

SVC 在哪里存储它来自 iOS 11 的 cookie?

SVC 是否将 cookie 存储在启动应用程序本身中?

如果是,app中的webview(UIWebview/Wkwebview)能否读取SVC写的cookies

如果是,SVC能否读取Webview写的cookies

如果没有,SVC 是否可以读取它在上次会话期间写入的 cookie

或 SVC 更像是 Safari 的隐身版本,它不记得以前的会话,并且无法访问应用程序的 webview 和 Mobile Safari 的 cookie。

【问题讨论】:

    标签: ios cookies webview mobile-safari sfsafariviewcontroller


    【解决方案1】:

    SVC 在哪里存储它来自 iOS 11 的 cookie?

    cookies/其他数据目前保存在SystemData/com.apple.SafariViewService/Library 的容器下,然后保存在CookiesWebkit/WebsiteData 下 - 这可能会在未来的版本中更改!

    SVC 是否将 cookie 存储在启动应用程序本身中?

    是的,在您的容器中

    如果是,应用程序中的 webview(UIWebview/Wkwebview) 是否可以读取 cookie SVC写的

    不是开箱即用,您可以使用自定义 URLRequest 加载 Web 视图,然后让它读取这些文件,我不推荐它,因为当前保存的格式没有记录,将来可能会更改。

    如果没有,SVC 是否可以读取它在上次会话期间写入的 cookie

    是的,SFSafariViewController 维护它来自以前会话的数据,它对您的应用程序是私有的,因为它存储在您的容器中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-02
      • 1970-01-01
      • 2015-08-13
      • 2013-03-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多