
Keychain优点:
① 保存的信息不会因App被删除而丢失,在用户重新安装App后依然有效(需要导入Security.framework)
② 不同App共享KeyChain数据
代码实现
1 2 3 4 5 6 7 8 9 10 11 12 13
|
NSString * userName = @"Name"; //用户名 NSString * passWord = @"123456"; //密码
KeychainItemWrapper * keychain = [[KeychainItemWrapper alloc]initWithIdentifier:@"UserKeychain"accessGroup:nil];
//必须设置kSecAttrService,KeyChain内部以kSecAttrAccount与kSecAttrService作为唯一钥匙串标识,两个都必须设置才行 [keychain setObject:@"UserKeychain" forKey:(id)kSecAttrService];
//保存用户名 [keychain setObject:userName forKey:(id)kSecAttrAccount];
//保存密码 [keychain setObject:passWord forKey:(id)kSecValueData];
|
取值,取出已保存的用户名、密码
1 2 3 4 5 6 7 8 9 10 11
|
KeychainItemWrapper * keychain = [[KeychainItemWrapper alloc]initWithIdentifier:@"UserKeychain"accessGroup:nil];
[keychain setObject:@"UserKeychain" forKey:(id)kSecAttrService];
NSString * userName = [keychain objectForKey:(id)kSecAttrAccount];
NSString * password = [keychain objectForKey:(id)kSecValueData];
// 打印数据 NSLog(@"keychain userName = %@",userName); NSLog(@"keychain password = %@",password);
|
近期评论