gpt4 book ai didi

ios - 了解 iOS Cookie 接受政策

转载 作者:IT王子 更新时间:2023-10-29 08:20:05 26 4
gpt4 key购买 nike

有关 NSHTTPCookieStorage 的 cookie 接受策略的 Apple 文档令人困惑。

这是文档所说的:

NSHTTPCookieStorage implements a singleton object (shared instance) that manages storage of cookies. Each cookie is represented by an instance of the NSHTTPCookie class. As a rule, cookies are shared among all applications and are kept in sync across process boundaries. Session cookies (where the cookie object’s isSessionOnly method returns YES) are local to a single process and are not shared.

iOS Note: Cookies are not shared among applications in iOS.

Note: Changes made to the cookie accept policy affect all currently running applications using the cookie storage.

以及以下关于 - (void)setCookieAcceptPolicy:(NSHTTPCookieAcceptPolicy)aPolicy

The default cookie accept policy is NSHTTPCookieAcceptPolicyAlways. Changing the cookie policy affects all currently running applications using the cookie storage.

现在我的第一个想法是,如果一个应用程序要调用 setCookieAcceptPolicy,则更改会影响其他正在运行的应用程序。情况似乎并非如此。调用 setCookieAcceptPolicy 只会影响调用它的应用。

适用于所有正在运行的应用程序的唯一 cookie 策略是 Safari 策略。在 iOS 7 中,在应用程序调用 setCookieAcceptPolicy 之前,它使用的是 safari 策略。因此,如果将 safari cookie 策略设置为始终阻止,则任何应用程序在设置自己的 cookie 策略之前都无法使用 cookie。据我所知,自 iOS 7 发布以来,这给很多应用程序带来了问题。

我对这一切的观察是否正确,还是我错过了什么?

编辑

我已经向 Apple 提出了一个错误,现在正在等待他们的回复。

最佳答案

我对我的应用程序进行了一些测试,发现在 iOS 7 上,应用程序的默认 cookie 策略设置为 Safari 的 cookie 策略。在 Safari 中更改 cookie 策略,终止然后重新启动我的应用程序,也会更改我的应用程序中的 cookie 策略。将以下行添加到我的每个应用程序中:

[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways];

会相应地更改我的应用程序,但不会对 Safari 产生任何影响。此外,更改一个应用似乎不会影响我的任何其他应用。

关于ios - 了解 iOS Cookie 接受政策,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18950184/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com