我正在考虑使用SSKeychain在iOS应用中存储密码,但我不确定我是否需要为帐户和服务提供某些特定值,或者它是否可以随意使用那些。有通用做法吗?
答案 0 :(得分:22)
服务应该是您的应用程序的唯一字符串,可能使用iOS捆绑标识符作为服务或应用程序或Web应用程序的名称/ URL或您设置密码的任何内容。理想情况下,这应该在整个应用程序中保持不变,但没有特别的偏好。我个人更喜欢将其设置为Web服务URL,但这是我的首选。
帐户位实质上类似于任何应用程序上的用户名字段。这样,您可以为同一服务存储多个密码,但不同的帐户。如果您正在处理没有用户名字段的应用程序,那么您可以将其设置为“用户”或任意内容,但在整个应用程序和将来的版本中保持不变。
因此,如果我为acme.com服务存储joebloggs的密码和密码'test',我将按照以下方式存储它:
NSString *password = [SSKeychain setPassword:@"test" forService:@"acme.com" account:@"joebloggs"];
SSKeychain 非常简单易用。绝对是个不错的选择!