Cookie// Cocoa WebView状态未被保留

que*_*est 5 macos cocoa webkit objective-c

我当前构建的PandoraMan(http://github.com/zquestz/PandoraMan)存在一些问题.一切都是功能性的,窗口位置正在保存,所有基本功能都有效,但我看到一个错误.

当我登录Pandora时,它永远不会被保留.我假设它读取系统cookie并与Safari共享状态.旧版本(在10.4上使用古老的xcode)运行良好.

如果我启动应用程序并使用PandoraMan登录,它会登录,并且网站正常工作.但是当我重新启动应用程序时,我总是要再次登录.这从未发生过,我在文档中找不到有关此问题的任何内容.

如果有人对这个问题有一些了解,那就太棒了.代码是开源的,因此您可以检查问题,而无需在评论中来回反复代码.

Aje*_*rya 1

您的应用程序在 [NSHTTPCookieStorage sharedHTTPCookieStorage] 容器中有自己的“cookie jar”。

您可以通过以下方式快速查看应用程序 cookie jar 中的 cookie:

NSHTTPCookie *cookie;
NSHTTPCookieStorage *cookieJar = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (cookie in [cookieJar cookies]) {
    NSLog(@"%@", cookie);
}
Run Code Online (Sandbox Code Playgroud)

有多种方法可用于过滤和操作。查看用于访问 cookie 的NSHTTPCookieStorage文档,以及用于访问各个 cookie 属性的NSHTTPCookie文档

也许这可以帮助您解决问题。