通常在开发中我们需要长久的保存某些值比如用户的账号密码等,对于隐私度很高的数据来说保证数据的安全性是尤为重要的。ios中的keyChain是一种很好的选择。
首先去开发者网站(https://developer.apple.com/library/ios/navigation/)下载一个叫GenericKeychain的示例项目。
我们只需要将示例项目中的
“KeychainItemWrapper.h”和“KeychainItemWrapper.m”拷贝到我们项目,并导入Security.framework
还需要关闭对此类禁用ARC :
buliding phase 找到对应文件-fno-objc-arc
基本使用代码如下:
KeychainItemWrapper *wra;
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
wra = [[KeychainItemWrapper alloc] initWithIdentifier:@"password" accessGroup:@"wjl.com"];
}
- (IBAction)getOb:(id)sender {
/**
*
* @param @"账号%@"
* @param id id必须的是Security.frame下Secitem.h下定义的
*
*/
NSLog(@"账号==%@", [wra objectForKey:(id)kSecAttrAccount]);
}
- (IBAction)clear:(id)sender {
[wra resetKeychainItem];//清空设置
}
- (IBAction)set:(id)sender {
[wra setObject:@"wjl123" forKey:(id)kSecAttrAccount];
}