iOS中的自動(dòng)登錄

索引

在項(xiàng)目中添加了用戶登錄的功能,使用了一段時(shí)間后感覺每一次打開APP后都要登錄一下才能進(jìn)入到首頁,這種體驗(yàn)感覺很不舒服。

參照主流的APP流程,只要用戶第一次登錄后沒有登出,在用戶下一次打開APP的時(shí)候會(huì)自動(dòng)保存登錄的狀態(tài)。

所以需求來了,提升用戶體驗(yàn)的時(shí)候來了。

思路

查了多種途徑的邏輯設(shè)計(jì),這里就記錄一下簡(jiǎn)單的途徑,用在目前的項(xiàng)目足矣。因?yàn)槊恳淮蔚卿浂紩?huì)請(qǐng)求一次后臺(tái),后臺(tái)返回的code為1才表示登錄成功,在這里我們就用到iOS里面的數(shù)據(jù)持久化的一個(gè)類 NSUserDefault來完成就可以了。

第一步

在登錄的接口那里,登錄成功了后添加NSUserDefault類的初始化,把用戶的用戶名和密碼保存到NSUserDefault里面,像這樣

//登錄成功保存用戶名和密碼

NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults];

[userDefault setObject:phoneString forKey:@"userName"];

[userDefault setObject:passwordString forKey:@"password"];

[userDefault synchronize];

第二步

有登錄以后那就有退出登錄,在退出登錄成功后需要清除NSUserDefault里面保存的用戶信息

//清除userDefault里的登錄信息

NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults];

[userDefault removeObjectForKey:@"userName"];

[userDefault removeObjectForKey:@"password"];

[userDefault synchronize];

第三步

前兩步我們只是保證了用戶的登錄信息保存在本地里,接下來我們要做的就是在用戶打開APP的時(shí)候做一個(gè)登錄判斷。在AppDelegate的初始化方法里取出NSUserDefault的類,如果NSUserDefault里保存有用戶名的信息,則發(fā)起登錄請(qǐng)求,并跳轉(zhuǎn)到登錄后的頁面,如果沒有保存有用戶名的身份信息,則打開登錄頁面進(jìn)行手動(dòng)登錄。像這樣

//添加自動(dòng)登錄

NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults];

NSString *userName = [userDefault objectForKey:@"userName"];

NSString *password = [userDefault objectForKey:@"password"];

if(userName != nil) {

//NSLog(@"自動(dòng)登錄");

NSString *enPassword = [EncryptionHelper md5:password];

NSString *paramString = [NSString stringWithFormat:@"{account:\"%@\",password:\"%@\"}", userName, enPassword];

[[WebService webServiceInstance] requestWith:hLoginURL parameters:paramString Delegate:self showLoad:NO];

}else{

//NSLog(@"打開登錄頁面");

self.isLogin = NO;

}

以上就是根據(jù)NSUserDefaults進(jìn)行自動(dòng)登錄的思路,比較簡(jiǎn)單,我們需要做的就是在AppDelegate里面的登錄請(qǐng)求結(jié)果處理里面去做相應(yīng)的頁面跳轉(zhuǎn)就可以了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容