php ios cookie 被阻,ios app退出后cookies丢失的解决方法

释放双眼,带上耳机,听听看~!

前两天我在做uiwebview通过cookies自动登录的时候,发现app退出后cookies丢失,搞了一天找不出原因,最后发现ios的cookies需要程序员手动设置保存时间,默认下,cookies的保存时间是app退出后cookie就会被清掉!

怎么保存呢?简单得让人哭笑不得!在app进入后台的时候指向下面代码(不喜欢在delegate中执行,那就通过接受进入后台的通知):

NSHTTPCookie *cookie;

NSHTTPCookieStorage *nCookies = [NSHTTPCookieStorage sharedHTTPCookieStorage];

NSArray *cookiesURL = [nCookies cookiesForURL:[NSURL URLWithString:youURL]];  //这个是主页的url,不是登录页的url

for (id c in cookiesURL)

{

if ([c isKindOfClass:[NSHTTPCookie class]])

{

cookie=(NSHTTPCookie *)c;

if ([cookie.name isEqualToString:@"PHPSESSID"]) {//我的cookies的名字是

"PHPSESSID",你在上一行打个断点看看你的cookies的name是什么

NSDate *expiresDate = [NSDate dateWithTimeIntervalSinceNow:3600*24*30*12];//当前点后,保存一年左右

NSArray *cookies = [NSArray arrayWithObjects:cookie.name, cookie.value, expiresDate, cookie.domain, cookie.path, nil];

if(cookies){

NSMutableDictionary *cookieProperties = [NSMutableDictionary dictionary];

[cookieProperties setObject:[cookies objectAtIndex:0] forKey:NSHTTPCookieName];

[cookieProperties setObject:[cookies objectAtIndex:1] forKey:NSHTTPCookieValue];

[cookieProperties setObject:[cookies objectAtIndex:2] forKey:NSHTTPCookieExpires];

[cookieProperties setObject:[cookies objectAtIndex:3] forKey:NSHTTPCookieDomain];

[cookieProperties setObject:[cookies objectAtIndex:4] forKey:NSHTTPCookiePath];

NSHTTPCookie *cookieuser = [NSHTTPCookie cookieWithProperties:cookieProperties];

[[NSHTTPCookieStorage sharedHTTPCookieStorage]  setCookie:cookieuser];

}

break;

}

}

}

也就是说,每次退出都会讲保存时间更新为一年,所以不用担心cookies过期问题!

陆陆续续有人加qq提问,基本上都是这个问题:基本都是在[webView loadRequest:登录url],这是错的,应该load主页的url,没用保存cookies的话会自动转跳到登录url的,如果load的是登录url,那设置了cookie也没用!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值