使用iOS钥匙串技术的更合适的方法是什么

时间:2014-11-23 09:29:59

标签: ios xcode swift xcode6 keychain

我并不完全了解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;参数应该是应用程序的名称吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

将钥匙串本身视为字典,您可以根据某个键存储对象。在这种情况下,密钥是密钥,服务和用户帐户的组合。该库允许您存储字典,而不是限制您为每个“键”存储单个值。

因此,在您的情况下,您可以存储一个带有单个条目的字典 - 密钥“密码”的用户密码,但是可以灵活地存储其他条目。

Keychain的常见用途是存储应用内购买记录。在这种情况下,您可以存储许多产品标识符和为每个标识符购买的数量,例如。