我已經開發出與登錄到帳戶,人們還可以得到我的應用程序註冊相關的應用程序,因爲這些用戶信息將被存儲在一個SQLite數據庫 。如何禁用iphone重新登錄
的問題在於,當用戶註銷賬戶的,然後在重新日誌,應用程序要求用戶重新登錄。我不希望發生這種情況,因爲它應該記住用戶名和密碼,並且應該自動登錄。
有誰知道如何做到這一點?
我已經開發出與登錄到帳戶,人們還可以得到我的應用程序註冊相關的應用程序,因爲這些用戶信息將被存儲在一個SQLite數據庫 。如何禁用iphone重新登錄
的問題在於,當用戶註銷賬戶的,然後在重新日誌,應用程序要求用戶重新登錄。我不希望發生這種情況,因爲它應該記住用戶名和密碼,並且應該自動登錄。
有誰知道如何做到這一點?
在你AppDelegate.m
文件,添加NSUserDefaults
方法...
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults];
if ([standardUserDefaults valueForKey:@"dbID"]==nil) {
[standardUserDefaults setObject:@"1" forKey:@"dbID"];
[standardUserDefaults synchronize];
}
}
並且您還有理智的用戶名和密碼保存NSUserDefaults
。 和註銷功能,請將您要註銷該應用程序的代碼註銷代碼...
-(IBAction)Logout :(id)sender {
[[NSUserDefaults standardUserDefaults] setObject:@"" forKey:@"dbID"];
[NSUserDefaults resetStandardUserDefaults];
}
在登錄時檢查dbID
爲null,則使用的用戶名和密碼,用戶登錄。如果dbID
不是null
,則登錄舊的用戶名和密碼。
如果妳退出而不退出應用程序,然後存儲dbid是「1」,在和NSUserDefaults的重定向視圖控制器和保存在您登錄時的用戶名和密碼......爲節省
[[NSUserDefaults standardUserDefaults] setValue:@"Your text field value" forKey:@"Username"];
[[NSUserDefaults standardUserDefaults] setValue:@"Your text field value" forKey:@"password"];
閱讀
NSString * _UserName = [[NSUserDefaults standardUserDefaults] stringForKey:@"Username"];
NSString * _password = [[NSUserDefaults standardUserDefaults] stringForKey:@"password"];
用戶名和密碼保存在NSUserDefaults的指示的u必須在存儲NSUserDefaults的用戶名和密碼。
如果你已經註銷通過按鈕的應用,使空的用戶名和密碼保存.. NSUserDefaults的像
[[NSUserDefaults standardUserDefaults] setValue:@"" forKey:@"Username"];
[[NSUserDefaults standardUserDefaults] setValue:@"" forKey:@"password"];
使用NSUserDefaults。這一次將罰款
NSUserDefaults *rememberDefault = [NSUserDefaults standardUserDefaults];
if ([[rememberDefault valueForKey:@"Autologin"] isEqualToString:@"Autologin_on"]) {
btnAutoLogin.selected =NO;
}else {
btnAutoLogin.selected =YES;
}
在您的按鈕操作方法:
-(IBAction)btnOnOffSwitch:(UIButton *)sender{
if (sender.selected) {
sender.selected = NO;
}else {
sender.selected = YES;
}
}
,當你要檢查使用此:
NSUserDefaults *rememberDefault = [NSUserDefaults standardUserDefaults];
if([[rememberDefault valueForKey:@"Autologin"] isEqualToString:@"Autologin_on"])
{
write your code here. to push directly to your home screen. this should be checked in your login screen
}
如果我在viewDidLoad部分編寫與NSUser默認相關的第一組代碼,並且如果我在按鈕操作方法中編寫下一組代碼,它會工作嗎?那麼如何檢查,正如你在下面的代碼中提到的那樣? –
@Ajit Kumar:你需要在登錄屏幕上檢查用戶是否已經登錄或不是儀式?它只是用於自動登錄。使用相同的,你想要的。它會正常工作。 –
可B本會幫助你。
當你第一次成功登錄的時候,你的條件使1個字典存儲用戶名,密碼和用戶ID,否則爲這3種類型製作3個不同的nsuserdefault對象。
當用戶再次進入該登錄屏幕時,請檢查nsuser默認值是否爲空或具有某個值,因此如果該值已超過已登錄,並且您可以直接將其重定向到下一頁。否則顯示登錄頁..
這裏我只寫邏輯沒有源代碼,這樣你們可以試一下你的自我和了解更多:) ..
希望這會幫助你。
我已經完成了與你指示的完全相同的操作,但是當我嘗試使用用戶名和密碼登錄時,請關閉應用程序並返回到登錄頁面,但未自動登錄。還有其他解決方案嗎?你是什麼意思「保存用戶名,密碼和NSUserDefaults」我該怎麼做? –
@AjitKumar如果你退出沒有註銷的應用程序,那麼在NSUserDefaults中存儲dbID爲「1」,並重定向視圖controller.username和密碼保存NSUserDefaults指示你有存儲用戶名和密碼在NSUserDefaults .See編輯答案.. –
所以,我要求我在appdelegate.m中設置對象和同步代碼後存儲用戶名和密碼(設置值)? –