[英]How can I use keychain when I close my ios app?
我正在開發一個iOS應用,希望用戶僅輸入一次username:password pair(除非他注銷)。 目前,我使用鑰匙串交換框架來存儲電子郵件/密碼。
我基本上運行:
let keychain = KeychainSwift()
keychain.set("johndoe", forKey: "my key") // on a successful login
keychain.get("my key")
當我在模擬器中運行我的應用程序時,我必須一直輸入密碼(即,看起來好像它不會在會話之間的鑰匙串中保存密碼)。
是預期的嗎? 什么框架可以讓我保存數據,即使我關閉應用程序也可以使用戶不必每次登錄都鍵入username:password
對?
我從沒使用過KeychainSwift
但猜測您可以執行以下操作:
let keychain = KeychainSwift(keyPrefix: "com.Daniel.myIOSapp.")
keychain.set("johndoe", forKey: "username")
keychain.set("where is jane", forKey: "password")
這將創建兩個“通用密碼”鑰匙串項com.Daniel.myIOSapp.username
和com.Daniel.myIOSapp.password
以及關聯的值。
通常,您將用戶名/密碼對存儲為單個鑰匙串項。 您可以使用KeychainSwift
使用類似的方法來做到這一點:
keychain.set("where is jane", forKey: "johndoe")
它會在鑰匙串中創建一個通用密碼項,並且您可能希望在首選項中的適當密鑰下存儲"johndoe"
。
HTH
我自己沒有使用過此框架,但是通過查看代碼,它似乎可以保存,因此在重新啟動應用程序后可以訪問。
您可能要確認set
功能是否正常工作。 從這里的自述文件:
https://github.com/evgenyneu/keychain-swift/blob/master/README.md
...它指出:
檢查操作是否成功
可以通過檢查它們的返回值來驗證設置,刪除和清除方法是否成功完成。 這些方法成功返回true,錯誤返回false。
如果keychain.set(“ hello world”,forKey:“我的鑰匙”){//鑰匙串項保存成功} else {//報告錯誤}
同樣,為了確認,get函數應顯示為:
let myKey = keychain.get("my key")
...將myKey
放在您的文本字段中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.