关闭 ios 应用程序时如何使用钥匙串?
How can I use keychain when I close my ios app?
我正在开发一个 iOS 应用程序并希望用户只输入一次 username:password 对(除非他注销)。目前我使用 keychain-swift 框架来存储 emails/passwords.
我基本上运行:
let keychain = KeychainSwift()
keychain.set("johndoe", forKey: "my key") // on a successful login
keychain.get("my key")
当我在模拟器中 运行 我的应用程序时,我必须一直输入密码(即,它看起来不像在会话之间将密码保存在钥匙串中)。
是否符合预期?什么框架允许我在关闭应用程序时保存数据,这样用户就不必每次都输入 username:password
对来登录?
我自己没有使用过这个框架,但是从代码来看,它似乎会保存,因此在应用程序重新启动后可以访问。
您可能想确认 set
功能是否正常工作。来自此处的自述文件:
https://github.com/evgenyneu/keychain-swift/blob/master/README.md
...它指出:
Check if operation was successful
One can verify if set, delete and clear methods finished successfully
by checking their return values. Those methods return true on success
and false on error.
if keychain.set("hello world", forKey: "my key") { // Keychain item
is saved successfully } else { // Report error }
此外,为了确认,get 函数应为:
let myKey = keychain.get("my key")
...其中 myKey
已放入您的文本字段。
我从未使用过 KeychainSwift
但我猜你可以这样做:
let keychain = KeychainSwift(keyPrefix: "com.Daniel.myIOSapp.")
keychain.set("johndoe", forKey: "username")
keychain.set("where is jane", forKey: "password")
这将创建两个 "generic password" 钥匙串项 com.Daniel.myIOSapp.username
和 com.Daniel.myIOSapp.password
以及关联的值。
您通常将 username/password 对存储为 单个 钥匙串项。你可以用 KeychainSwift
使用类似的东西来做到这一点:
keychain.set("where is jane", forKey: "johndoe")
这会在钥匙串中创建一个通用密码项,您可能希望将 "johndoe"
存储在您的 首选项 中的合适密钥下。
HTH
我正在开发一个 iOS 应用程序并希望用户只输入一次 username:password 对(除非他注销)。目前我使用 keychain-swift 框架来存储 emails/passwords.
我基本上运行:
let keychain = KeychainSwift()
keychain.set("johndoe", forKey: "my key") // on a successful login
keychain.get("my key")
当我在模拟器中 运行 我的应用程序时,我必须一直输入密码(即,它看起来不像在会话之间将密码保存在钥匙串中)。
是否符合预期?什么框架允许我在关闭应用程序时保存数据,这样用户就不必每次都输入 username:password
对来登录?
我自己没有使用过这个框架,但是从代码来看,它似乎会保存,因此在应用程序重新启动后可以访问。
您可能想确认 set
功能是否正常工作。来自此处的自述文件:
https://github.com/evgenyneu/keychain-swift/blob/master/README.md
...它指出:
Check if operation was successful
One can verify if set, delete and clear methods finished successfully by checking their return values. Those methods return true on success and false on error.
if keychain.set("hello world", forKey: "my key") { // Keychain item is saved successfully } else { // Report error }
此外,为了确认,get 函数应为:
let myKey = keychain.get("my key")
...其中 myKey
已放入您的文本字段。
我从未使用过 KeychainSwift
但我猜你可以这样做:
let keychain = KeychainSwift(keyPrefix: "com.Daniel.myIOSapp.")
keychain.set("johndoe", forKey: "username")
keychain.set("where is jane", forKey: "password")
这将创建两个 "generic password" 钥匙串项 com.Daniel.myIOSapp.username
和 com.Daniel.myIOSapp.password
以及关联的值。
您通常将 username/password 对存储为 单个 钥匙串项。你可以用 KeychainSwift
使用类似的东西来做到这一点:
keychain.set("where is jane", forKey: "johndoe")
这会在钥匙串中创建一个通用密码项,您可能希望将 "johndoe"
存储在您的 首选项 中的合适密钥下。
HTH