https://www.jianshu.com/p/e1284bd8c72a
细节
https://blog.csdn.net/u012189584/article/details/101773830
重要
https://www.wangquanwei.com/560.html
钥匙链
使用方法
https://www.jianshu.com/p/340fbfffcb2f
https://blog.csdn.net/xy_26207005/article/details/51312078
KeychainItemWrapper是apple官方例子“GenericKeychain”里一个访问keychain常用操作的封装类,在官网上 下载了GenericKeychain项目后,只需要把“KeychainItemWrapper.h”和 “KeychainItemWrapper.m”拷贝到我们项目,并导入Security.framework
只需要把“KeychainItemWrapper.h”和“KeychainItemWrapper.m”拷贝到我们项目,并导入KeychainItemWrapper.h
下载地址:https://developer.apple.com/library/ios/samplecode/GenericKeychain/Introduction/Intro.html
使用方法:
/** 初始化一个保存用户帐号的KeychainItemWrapper */
// 第一个参数 : 标识符(账号) 第二个参数 访问组(有同样访问组的应用能够访问同样的keychina信息,用于应用间共享信息,用不着填的话nil)
KeychainItemWrapper *wrapper = [[KeychainItemWrapper alloc] initWithIdentifier:@“账号"accessGroup:nil];
保存数据 :
kSecAttrAccount : 账号
kSecValueData : 密码
[wrappersetObject:@“账号" forKey:(id)kSecAttrAccount];
[wrappersetObject:@“密码" forKey:(id)kSecValueData];
读取数据:
NSString *string1 = [keyWrapper objectForKey:(id)kSecAttrAccount];
NSString*string2 = [keyWrapper objectForKey:(id)kSecValueData];