1、第一次进入应用,登录获取Cookie,此时如果用到的是AFN去获取接口数据,Cookie已经写入了,所以无需处理,每次请求的时候,会自动将该cookie传给后台去验证

2、将Cookie缓存到本地:

NSData *cookiesData = [NSKeyedArchiver archivedDataWithRootObject: [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]];
                NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
                [defaults setObject: cookiesData forKey:@"Cookie"];
                [defaults synchronize];

3、当第二次进入应用的时候,先判断NSUserDefault是否有缓存的Cookie,如果有,需要将cookie写入,然后进入应用

NSArray *cookies = [NSKeyedUnarchiver unarchiveObjectWithData:[[NSUserDefaults standardUserDefaults] objectForKey:@"Cookie"]];
                NSHTTPCookieStorage * cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
                for (NSHTTPCookie * cookie in cookies){
                    [cookieStorage setCookie: cookie];
                }

4、当用户选择退出登录,需要清除缓存中的cookie,同时要将NSUserDefault中的Cookie删除

(1)清除请求头中的Cookie:

NSHTTPCookieStorage *manager = [NSHTTPCookieStorage sharedHTTPCookieStorage];
                NSArray *cookieStorage = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies];
                for (NSHTTPCookie *cookie in cookieStorage) {
                    [manager deleteCookie:cookie];
                }

(2)清除NSUserDefault中的Cookie

[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"Cookie"];

[defaults synchronize];

最新文章

  1. 关于asp的运行环境配置
  2. [译]rabbitmq 2.2 Building from the bottom: queues
  3. php MVC 及例子解释
  4. html中插入flash代码详解(转载)
  5. 中点Bresenham画圆
  6. [Servlet&JSP] 初识ServletContext
  7. js禁止滚动条移动
  8. java_泛型2
  9. yii 邮箱封装
  10. React-Native:解决真机调试时候Could not get BatchedBridge, make sure your bundle is packaged properly
  11. Confluence 6 安装一个语言组件
  12. java泛型的理解
  13. 【转】.Net Core中的Api版本控制
  14. php函数式编程
  15. 不要拿ERP的报表忽悠领导!——一个报表引发的企业经营反思
  16. sku 加减号的增删
  17. php基础-6
  18. Grid++Report
  19. xampp 教程
  20. 手把手教你写一个java的orm(完)

热门文章

  1. 关于Trie KMP AC自动机
  2. 原生ajax 和jquery ajax 个人总结
  3. (转)CentOS下一键安装GitLab
  4. 实验楼-3-Linux用户及用户组
  5. JavaScript 简介及语法语句
  6. 老李分享:导出xml报告到手机
  7. 老李推荐:第8章1节《MonkeyRunner源码剖析》MonkeyRunner启动运行过程-运行环境初始化
  8. PHP对象相关知识点的总结
  9. C# 遍历泛型集合
  10. 爬楼梯问题-斐波那契序列的应用.md