ios - 钥匙串开发(keychain开发)

  • 设置xcode
ios - 钥匙串开发(keychain开发)_第1张图片
设置中直接打开
  • 下载苹果官方文档中的类文件KeychainItemWrapper.h与.m文件,我备份到了git上地址是 https://github.com/adampei/KeychainItemWrapper
  • 将两个文件直接拖入项目中
ios - 钥匙串开发(keychain开发)_第2张图片
Paste_Image.png
  • 然后编译报错,原因是这个类文件是MRC的,下面解决
    • 在buildphrase中找到这个.m文件,双击添加-fno-objc-arc 回车再编译success
ios - 钥匙串开发(keychain开发)_第3张图片
Paste_Image.png
  • 编译通过后开始测试存储,读取类似偏好设置

值得注意的是他的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];
}

你可能感兴趣的:(ios - 钥匙串开发(keychain开发))