ios - 钥匙串开发(keychain开发)
2016-11-01 本文已影响596人
AlexPei
- 设置xcode
- 下载苹果官方文档中的类文件KeychainItemWrapper.h与.m文件,我备份到了git上地址是 https://github.com/adampei/KeychainItemWrapper
- 将两个文件直接拖入项目中
- 然后编译报错,原因是这个类文件是MRC的,下面解决
- 在buildphrase中找到这个.m文件,双击添加
-fno-objc-arc
回车再编译success
- 在buildphrase中找到这个.m文件,双击添加
- 编译通过后开始测试存储,读取类似偏好设置
值得注意的是他的key值只能是系统里的,不能我们自定义,否则崩溃
#pragma mark - keychain读取
- (IBAction)keychainRead:(id)sender {
KeychainItemWrapper *wrapper = [[KeychainItemWrapper alloc]initWithIdentifier:@"Username"accessGroup:nil];
KLog(@"pwd = %@,account = %@",[wrapper objectForKey:(__bridge id)kSecValueData],[wrapper objectForKey:(__bridge id)kSecAttrAccount]);
}
#pragma mark - keychain存储
- (IBAction)clickJieM:(id)sender {
KeychainItemWrapper *wrapper = [[KeychainItemWrapper alloc]initWithIdentifier:@"Username"accessGroup:nil];
//保存帐号
[wrapper setObject:@"张三" forKey:(__bridge id)kSecAttrAccount];
//保存密码
[wrapper setObject:@"212121" forKey:(__bridge id)kSecValueData];
}