從鑰匙串中刪除密碼

我們只需要一件事就是從 Keychain 中刪除一個專案:一個 CFDictionary,其中包含描述要刪除的專案的屬性。任何與查詢字典匹配的專案都將被永久刪除,因此如果你只想刪除單個專案,請確保特定於你的查詢。和往常一樣,我們可以在 Objective-C 中使用 NSDictionary,或者在 Swift 中我們可以使用 Dictionary 然後轉換為 CFDictionary

在該上下文中,查詢字典專門包括用於描述專案是什麼的類金鑰以及用於描述關於該專案的資訊的屬性。不允許包含諸如 kSecMatchCaseInsensitive 之類的搜尋限制。

迅速

var dict = [String : AnyObject]()
dict[kSecClass as String] = kSecClassGenericPassword
// Label
dict[kSecAttrLabel as String] = "com.me.myapp.myaccountpassword" as CFString
// Username
dict[kSecAttrAccount as String] = "My Name" as CFString

現在我們可以簡單地刪除它:

迅速

let status = SecItemDelete(dict as CFDictionary)

SecItemDelete 返回 OSStatus。結果程式碼在此處描述。