keychain是一種存儲(chǔ)在硬盤上的加密的數(shù)據(jù)庫。這個(gè)可能是卸載App后灰伟,keychain信息還在的原因。
keychain適合存儲(chǔ)較小的數(shù)據(jù)量(不超過上千字節(jié)或上兆字節(jié))的內(nèi)容。
具體步驟:
首先在存儲(chǔ)數(shù)據(jù)是應(yīng)該先查詢是否存在 存在就更新否則就存儲(chǔ)
另附上 SWIF版本:
屬性字典的key狐援、value常用的有:(這部分內(nèi)容讀者也可直接看文檔):
(id)kSecClass: (id)kSecClassGenericPassword
kSecClass表示item的class
(id)kSecClass的值表明一個(gè)通用的密碼item筆者一般都傳入kSecClassGenericPassword
(id)kSecAttrService: service
kSecAttrService的value用于表明item的service
(id)kSecAttrAccount: account
(id)kSecAttrAccoun的值表明item的帳戶名
(id)kSecValueData: passwordData
(id)kSecValueData表示item的數(shù)據(jù)
(id)kSecMatchLimit: (id)kSecMatchLimitOne,
(id)kSecMatchLimit 有2個(gè)值(id)kSecMatchLimitOne钢坦、和(id)kSecMatchLimitAll
kSecMatchLimitOne:表示只匹配第一個(gè)符合條件的item
kSecMatchLimitAll:表示匹配不限數(shù)量的items
(id)kSecReturnData: @(YES)
(id)kSecReturnData的值是一個(gè)Boolean類型的值用于確定是否返回item data
kSecClass的值表示item的class
kSecClass的值表明一個(gè)通用的密碼item筆者一般都傳入的kSecClassGenericPassword