如何使用iOS钥匙串存储多个用户名和密码?

时间:2012-08-08 10:43:58

标签: objective-c ios xcode keychain

我目前正在使用Apple的KeychainWrapper存储单个用户名和密码,但我想添加能够登录到不同帐户的功能,并在我的应用程序中切换它们。

是否需要在plist中存储不同钥匙串的标识符,然后每次要更改帐户时重新初始化钥匙串?或者有更好的方法吗?也许是一个NSMutableArray的钥匙链?

谢谢, 尼克。

1 个答案:

答案 0 :(得分:3)

我建议您查看开源SFHFKeychainUtils类。

这非常简单,你只需要调用一个方法来添加(或更新):

+ (BOOL) storeUsername: (NSString *) username andPassword: (NSString *) password forServiceName: (NSString *) serviceName updateExisting: (BOOL) updateExisting error: (NSError **) error;

...获取存储密码的一种方法:

+ (NSString *) getPasswordForUsername: (NSString *) username andServiceName: (NSString *) serviceName error: (NSError **) error;

...还有一种删除方法:

+ (BOOL) deleteItemForUsername: (NSString *) username andServiceName: (NSString *) serviceName error: (NSError **) error;

It is available in GitHub。您只需要拖放类并将安全框架导入项目。