鍵扣

iOS 將密碼,加密金鑰,證書和身份等私人資訊儲存在名為 Keychain 的安全儲存區域中。該儲存區域完全由稱為 Secure Enclave 的協處理器管理,該協處理器嵌入在應用處理器內。由於鑰匙串是在 iOS 上沙箱化的,因此鑰匙串專案可能只能由首先放置它們的應用程式檢索。

在某些情況下,你必須開啟 Xcode 功能中的鑰匙串共享以避免錯誤。

為了與鑰匙串互動,我們使用稱為 Keychain Services 的 ac 框架。有關更多資訊,請參閱 Apple 的 Keychain Services Programming Guide

由於鑰匙串服務低於 Foundation 級別,因此僅限於使用 CoreFoundation 型別。因此,大多數物件在內部表示為 CFDictionarys,其中 CFStrings 作為其鍵,並且各種 CoreFoundation 型別作為其值。

雖然 Keychain Services 作為 Security 框架的一部分包含在內,但匯入 Foundation 通常是一個不錯的選擇,因為它在後端包含一些輔助函式。

此外,如果你不想直接處理 Keychain 服務,Apple 會提供 Generic Keychain Swift 示例專案,該專案提供在後臺使用 Keychain Services 的 Swift 型別。