【问题标题】:Are cookies shared between Safari and Webviews?Safari 和 Webview 之间是否共享 cookie?
【发布时间】:2012-06-04 18:40:13
【问题描述】:

根据NSHTTPCookieStorage 上的 Apple 文档

NSHTTPCookieStorage 类提供了管理所有应用程序共享的 NSHTTPCookie 对象集合的接口。

因此,如果我没记错的话,因为 OS X 上的 Webview 使用 NSHTTPCookieStorage,而 Safari 使用 Webviews,如果我在 Webview 上登录给定网站,Safari 将使用 Webview 设置的 cookie 和Safari打开同一个网站时,应该进行身份验证。

我的问题是,如果 Safari 和 Webviews 之间共享 cookie。如果是这样,为什么上面的测试不起作用?

【问题讨论】:

    标签: cookies safari webview


    【解决方案1】:

    根据 NSHTTPCookieStorage 文档:

    从 OS X 10.11 开始,每个应用都有自己的 sharedHTTPCookieStorage 单例,不会与其他应用共享。

    因此,虽然之前的答案在 3 年前写成时是正确的,但现在的答案应该是:

    1) 在 OS X 10.11 之前 - 是的,它们是共享的

    2) OS X 10.11 和 macOS 10.12 - 不,它们不再共享。

    【讨论】:

      【解决方案2】:

      根据Understanding NSHTTPCookieStorage for the iPhone 的讨论,cookie 不会在应用程序之间共享。

      这在“Cookie 存储”部分下的documentation 中得到确认:

      iOS 注意:iOS 中的应用程序不共享 Cookie。

      【讨论】:

      • 好吧,在他的问题中,他确实说“在 OS X 上”,奇怪的是,这不是 iOS。 ;-)
      • @Inafziger 为什么非要这么说,有什么意义?人们只回答 OP 问题的时代已经一去不复返了。我来自谷歌搜索,正在寻找 iOS 的答案,所以谢谢杰夫!
      【解决方案3】:

      根据我的经验,在 OS X 上,答案是响亮的是的。 Cookie 似乎在 Safari 和 WebView 之间共享。

      【讨论】:

      • 重要提示:请参阅下面的答案。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-28
      • 1970-01-01
      • 2015-11-28
      • 2013-07-20
      • 1970-01-01
      • 2014-07-29
      相关资源
      最近更新 更多