gpt4 book ai didi

objective-c - NSHTTPCookie 拒绝删除

转载 作者:可可西里 更新时间:2023-11-01 03:27:54 27 4
gpt4 key购买 nike

我的应用程序需要一个注销按钮,我有以下代码:

        while ([[[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies] count] != 0) {
for (NSHTTPCookie *cookie in [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]) {
[[NSHTTPCookieStorage sharedHTTPCookieStorage] deleteCookie:cookie];
}
}

(while 只是为了确保它们被删除,但是它只运行一次)

如果我在上面的代码之后 NSLog 共享 cookie 存储的描述,它会输出数组为空。但是我终止了应用程序或只是关闭它,然后在应用程序启动后的第一件事是 NSLog 共享 cookie 存储的描述,所有 cookie 仍然存在。

我已经尝试在 for 循环中将 Cookie 设置为 nil,甚至尝试将 dealloc 发送到 cookies(我知道你不应该那样做,但我现在正在尝试任何事情)

最佳答案

The problem seems to be that the cookies are cached and not saved out to a file immediately.

我做了一个sample project重现此问题 - 并发现它只会在应用程序收到 SIGKILL 信号时发生,例如当调试器从 Xcode 中停止时。在我的实验中,未处理的异常、崩溃、exit() 和 abort() 不会导致 NSHTPPCookieStorage 丢失数据。

因为这看起来像是一个仅限调试的问题(它只在使用调试器时发生),我关闭了 radar我以前填过。

虽然我无法测试所有内容:请随意使用示例项目来查看其他崩溃源是否会触发 cookie 丢失。

关于objective-c - NSHTTPCookie 拒绝删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5747012/

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