Keychain的简单使用

来源:互联网 发布:如何向网页中注入js 编辑:程序博客网 时间:2024/05/22 17:19

一、简介

keychain是苹果提供的一种较为安全的数据存储形式,keychain不会因APP的删除而丢失,重新安装APP之后,数据还会存在。使用时需要导入Security.framework框架


二、基础使用方法

增:SecItemAdd(CFDictionaryRef attributes,CFTypeRef *result)


增加一个或多个条目到keychain,注意参数使用时需要将Core Foundation对象转换成Objective-C类型对象使用(_bridge_transfer CFDictionaryRef)myDictionary;返回值为OSStatus即为一个有符号的整型数据表明操作是否成功,在SecBase.h中都错误代码说明。


CFTypeRef *result是CFData得引用,若不想获得增加的条目设为NULL。


删:SecItemDelete(CFDictionaryRef query)


删除匹配的条目,参数与返回值与增加相同。


改:SecItemUpdate (CFDictionaryRef query,CFDictionaryRef attributesToUpdate)


修改匹配到到条目,attributesToUpdate包含一个或多个明确指定的值。


查:SecItemCopyMatching (CFDictionaryRef query, CFTypeRef *result)


CFTypeRef *result是CFData得引用


CFData *result = nil;


SecItemCopyMatching(query,&result);result指向查找出来的结果


查找的时候可以通过字典的形式来预先设置返回的类型和数目,如:kSecReturnData,kSecMatchList

当Xcode创建新APP时会在bundle中添加一个唯一标示符来区分。可以通过唯一标示符来进行区分每个应用的keychain。

如果多个APP之间共享keychain 可以设置一个kSecAttrAccessGroup的共享名字来进行访问。


0 0
原创粉丝点击