【问题标题】:iphone NSHTTPCookieStorage avaible on app reopen?iphone NSHTTPCookieStorage 在应用重新打开时可用?
【发布时间】:2012-05-20 22:06:25
【问题描述】:

我正在这里开发我的应用程序 - 几乎就是这样。我有一个用户登录的登录框,然后它会在返回时保存 cookie 数据,如下所示:

   NSArray * all = [NSHTTPCookie cookiesWithResponseHeaderFields:[resp allHeaderFields] forURL:[NSURL URLWithString:@"http://myurl]];   
   NSHTTPCookieStorage *sharedHTTPCookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
   [sharedHTTPCookieStorage setCookies:all forURL:[NSURL URLWithString:@"http://myurl"] mainDocumentURL:nil];

在确保 cookie 安全后,我将其带到主视图 - 我的问题是 - 如果用户关闭 prgoram,手机重新启动等等 - cookie 是否存储在手机本地它的 sefl 上?我正在尝试在 didFinishLaunchingWithOptions 上再次访问该 cookie。我现在有以下代码..

 NSHTTPCookieStorage *sharedHTTPCookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
    NSArray *cookies = [sharedHTTPCookieStorage cookiesForURL:[NSURL URLWithString:@"http://iphone.wazgood.com"]];

 NSLog(@"count: %i", [cookies count]);

每次 - 它在 cookie 数据上都是空的 - 关于每次用户关闭程序时是否清除 cookie 的任何想法 - 或者是在 iPhone 模拟器上进行测试?

【问题讨论】:

  • 我的猜测是您可能需要在保存 cookie 时进行同步(如在 NSUserDefault 中)以使其持久化以供下次使用。检查设备中的功能。

标签: iphone objective-c object


【解决方案1】:

如果您或其他任何人仍然遇到此问题,则可能是 cookie 设置为在会话结束时(应用程序关闭时)过期。您可以通过查看NSHTTPCookies 的sessionOnly 属性来检查这种行为(getter 方法是-(BOOL)isSessionOnly)。

【讨论】:

  • 不,这也发生在非会话cookie 上。如果收到 cookie 后应用程序崩溃,它们就会消失。当您按下主页按钮或终止应用程序时,似乎保存了 cookie。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-03
  • 2023-04-10
相关资源
最近更新 更多