簡體   English   中英

關閉ios應用程序時如何使用鑰匙串?

[英]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.usernamecom.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM