keychain是一种存储在硬盘上的加密的数据库。这个可能是卸载App后,keychain信息还在的原因。
keychain适合存储较小的数据量(不超过上千字节或上兆字节)的内容。
具体步骤:
首先在存储数据是应该先查询是否存在 存在就更新否则就存储
先读取是否存在 存在就更新 增加新数据 删除旧数据另附上 SWIF版本:
读取信息 先查询在保存 删除信息属性字典的key、value常用的有:(这部分内容读者也可直接看文档):
(id)kSecClass: (id)kSecClassGenericPassword
kSecClass表示item的class
(id)kSecClass的值表明一个通用的密码item笔者一般都传入kSecClassGenericPassword
(id)kSecAttrService: service
kSecAttrService的value用于表明item的service
(id)kSecAttrAccount: account
(id)kSecAttrAccoun的值表明item的帐户名
(id)kSecValueData: passwordData
(id)kSecValueData表示item的数据
(id)kSecMatchLimit: (id)kSecMatchLimitOne,
(id)kSecMatchLimit 有2个值(id)kSecMatchLimitOne、和(id)kSecMatchLimitAll
kSecMatchLimitOne:表示只匹配第一个符合条件的item
kSecMatchLimitAll:表示匹配不限数量的items
(id)kSecReturnData: @(YES)
(id)kSecReturnData的值是一个Boolean类型的值用于确定是否返回item data
kSecClass的值表示item的class
kSecClass的值表明一个通用的密码item笔者一般都传入的kSecClassGenericPassword
网友评论