通常在开发中我们需要长久的保存某些值比如用户的账号密码等,对于隐私度很高的数据来说保证数据的安全性是尤为重要的。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];
}