Saving login credentials Xcode

后端 未结 4 1823
暖寄归人
暖寄归人 2021-02-04 22:55

I am implementing an application, the first view is the login view. it contains 3 textfields Account name, Username and password. i want to let the application to save the logi

相关标签:
4条回答
  • 2021-02-04 23:15

    This kind of sensitive data is usually stored in keychain. Similar question here

    0 讨论(0)
  • 2021-02-04 23:22

    Use key chain for storing login password. Below is the simple code

    To store:

    KeychainItemWrapper *keychain = 
     [[KeychainItemWrapper alloc] initWithIdentifier:@"MyAppLoginData" accessGroup:nil];
    [keychain setObject:loginStr forKey:(id)kSecAttrAccount];
    [keychain setObject:pwdStr forKey:(id)kSecValueData];
    

    To query:

    NSString *login = [keychain objectForKey:(id)kSecAttrAccount];
    NSString *pwd = [keychain objectForKey:(id)kSecValueData];
    

    To Delete:

    [keychain resetKeychainItem];
    

    You need to add KeychainItemWrapper.h and KeychainItemWrapper.m (here) in your project first.

    Another important aspects of using keychain to store data is

    1. The data is persistent even after app uninstall-install
    2. The data can be shared across your apps (need to have same bundle seed id, read from here). Think of single sign on for all your apps.
    3. The data is removed only on Device Reset from settings.
    0 讨论(0)
  • 2021-02-04 23:27
    To Save:
    
        [[NSUserDefaults standardUserDefaults] setValue:AccountTxtField.text forKey:@"Account"];
        [[NSUserDefaults standardUserDefaults] setValue:UserTxtField.text forKey:@"Username"];
        [[NSUserDefaults standardUserDefaults] setValue:passwordTxtField.text forKey:@"password"];
        [[NSUserDefaults standardUserDefaults] synchronize];
    
    To Read:
    
        NSString * _Account = [[NSUserDefaults standardUserDefaults] stringForKey:@"Account"];
        NSString * _UserName = [[NSUserDefaults standardUserDefaults] stringForKey:@"Username"];
        NSString * _password = [[NSUserDefaults standardUserDefaults] stringForKey:@"password"];
    

    logOut : set all value is null.

    0 讨论(0)
  • 2021-02-04 23:30

    Check keychainServConcepts for saving required data

    Check STUtils for saving Username and password securely.

    U can also use NSUserDefault to save data with key as userName and remove when required.

    0 讨论(0)
提交回复
热议问题