一、利用保存Cookie值实现
1、第一次登录成功后保持Cookie:
/** 保存登录的Cookie*/
NSArray * cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies];
NSData *cookiesData = [NSKeyedArchiver archivedDataWithRootObject: cookies];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject: cookiesData forKey:@"Cookie"];
之后每一次登录成功也一样。
2、下一次进入APP时判断是否有Cookie:
NSArray *cookies02 = [NSKeyedUnarchiver unarchiveObjectWithData:[[NSUserDefaults standardUserDefaults] objectForKey:@"Cookie"]];
(1)有Cookie时需要将Cookie写入:
NSHTTPCookieStorage * cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (NSHTTPCookie * cookie in cookies02){
[cookieStorage setCookie: cookie];
}
(2)没有Cookie时,直接跳转登录页面重写登录。
3、主动退出登录时:
/** 退出登录时清除Cookie*/
NSHTTPCookieStorage * manager = [NSHTTPCookieStorage sharedHTTPCookieStorage];
NSArray * cookieStorages = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies];
for (NSHTTPCookie *cookie in cookieStorages) {
[manager deleteCookie:cookie];
}
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"Cookie"];
二、利用保存Token实现