鍵扣
iOS 將密碼,加密金鑰,證書和身份等私人資訊儲存在名為 Keychain 的安全儲存區域中。該儲存區域完全由稱為 Secure Enclave 的協處理器管理,該協處理器嵌入在應用處理器內。由於鑰匙串是在 iOS 上沙箱化的,因此鑰匙串專案可能只能由首先放置它們的應用程式檢索。
在某些情況下,你必須開啟 Xcode 功能中的鑰匙串共享以避免錯誤。
為了與鑰匙串互動,我們使用稱為 Keychain Services 的 ac 框架。有關更多資訊,請參閱 Apple 的 Keychain Services Programming Guide 。
由於鑰匙串服務低於 Foundation
級別,因此僅限於使用 CoreFoundation
型別。因此,大多數物件在內部表示為 CFDictionary
s,其中 CFString
s 作為其鍵,並且各種 CoreFoundation
型別作為其值。
雖然 Keychain Services 作為 Security
框架的一部分包含在內,但匯入 Foundation
通常是一個不錯的選擇,因為它在後端包含一些輔助函式。
此外,如果你不想直接處理 Keychain 服務,Apple 會提供 Generic Keychain Swift 示例專案,該專案提供在後臺使用 Keychain Services 的 Swift 型別。