keyChain是ios中唯一可以存储安全可靠敏感数据的地方。而且应用被卸载,数据也不会被删除,所以非常可靠。
苹果官方的操作keychain,比较繁琐和隐晦,这里使用开源的第三方库SAMKeychain。
1、下载SAMKeychain.h、SAMKeychain.m、SAMKeychainQuery.h、SAMKeychainQuery.m这4个文件并导入项目中
2、在.mm文件中引用SAMKeychain(#include "SAMKeychain.h")
3、调用SAMKeychain的API,如:
从keyChain中获取内容:
// 传2个参数,service:服务名,key:键名
// 一般情况1个服务下,会包含多个内容
+ (NSString *) getContentFromKeyChain:(NSString *) key {
return [SAMKeychain passwordForService:service account:key];
});
向keyChain中保存内容:
+ (BOOL) saveContentToKeyChain: (NSString *) content
forKey: (NSString *) key
service: (NSString *) service {
return [SAMKeychain setPassword:content forService:service account:key];
}
清除keyChain中的数据:
+ (BOOL) removeContentFromKeyChain: (NSString *) key
service: (NSString *) service {
return [SAMKeychain deletePasswordForService:service account:key];
}