我不完全了解有关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)
但是我注意到第一个参数是字典。这本字典的钥匙应该是什么?如果这是“密码”,那么“ forKey”参数的参数应该是什么?
我对“ inService”参数的参数应该是应用程序的名称吗?
提前致谢。
最佳答案
将钥匙串本身视为字典,您可以在其中根据某个钥匙存储对象。在这种情况下,密钥是密钥,服务和用户帐户的组合。该库允许您存储词典,而不是限制您为每个“键”存储一个值。
因此,在您的情况下,您可以存储具有单个条目的字典-密钥“ password”的用户密码,但是可以灵活地存储其他条目。
钥匙串的常见用途是存储应用内购买记录。在这种情况下,例如,您可以存储许多产品标识和购买数量。