一.iOS之Keychain用途
提供了一种安全的保存私密信息的方式,每个ios程序都有一个独立的keychain存储,它保存的信息不会因App被删除而丢失,也可用于跨App共享keychain信息。见苹果开发文档Keychain Services Programming Guide
二.Keychain Services Reference关键的方法
- SecItemCopyMatching
- SecItemAdd
- SecItemUpdate
- SecItemDelete
苹果官方提供了的demo程序GenericKeychain,使用苹果封装的KeychainItemWrapper.h
和KeychainItemWrapper.m
提供的接口即可。
三.代码示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
KeychainItemWrapper *uuid = [[KeychainItemWrapper alloc]
initWithIdentifier:@"UUID"
accessGroup:@"com.taobao.userinfo"];
NSString *strUUID = [uuid objectForKey:(__bridge id)kSecValueData];
if (strUUID.length == 0 )
{
CFUUIDRef uuidRef = CFUUIDCreate(kCFAllocatorDefault);
strUUID = CFBridgingRelease(CFUUIDCreateString (kCFAllocatorDefault,uuidRef));
[uuid setObject:strUUID forKey:(__bridge id)kSecValueData];
NSLog(@"create uuid");
CFRelease(uuidRef);
}
NSLog(@"uuid = %@",strUUID);
|
可参考源代码,该工程中的KeychainItemWrapper.h
和KeychainItemWrapper.m
是支持ARC的。
文章作者
梵梵爸
上次更新
2014-10-22
许可协议
原创文章,如需转载请注明文章作者和出处。谢谢