我并不完全了解iOS钥匙串技术的技巧。什么是更合适的使用方式?
假设我有像这样的iOS钥匙串的包装器 - https://github.com/matthewpalmer/Locksmith,我想保存用户凭据(电子邮件和密码)供以后使用。
好的,我在指定的包装器中有以下功能:
func saveData(data: Dictionary<String, String>, forKey key: String, inService service: String, forUserAccount userAccount: String) -> (NSDictionary?, NSError?) { /* ... */ }
我认为调用此函数的最佳方法如下:
Locksmith.saveData(self.passwordTextField.text, forKey: "password", inService: "AppName", forUserAccount: self.emailTextField.text)
但我注意到第一个参数是字典。这本词典的关键应该是什么?如果这是&#34;密码&#34;什么应该是&#34; forKey&#34;参数呢?
我是对的&#34; inService&#34;参数应该是应用程序的名称吗?
提前致谢。
答案 0 :(得分:1)
将钥匙串本身视为字典,您可以根据某个键存储对象。在这种情况下,密钥是密钥,服务和用户帐户的组合。该库允许您存储字典,而不是限制您为每个“键”存储单个值。
因此,在您的情况下,您可以存储一个带有单个条目的字典 - 密钥“密码”的用户密码,但是可以灵活地存储其他条目。
Keychain的常见用途是存储应用内购买记录。在这种情况下,您可以存储许多产品标识符和为每个标识符购买的数量,例如。