#iphone #objective-c #keychain
#iPhone #objective-c #связка ключей
Вопрос:
итак, я заставил свое приложение для iPhone использовать связку ключей и сохранять мой пароль.
KeychainItemWrapper *kc = [[KeychainItemWrapper alloc] initWithIdentifier:@"Password"];
[kc SetObject:@"My_Password" forKey:(id)kSecAttrAccessGroup];
[kc release];
Это правильно сохраняет мой пароль.
Я попытался передать строку (username) вместо (id) kSecAttrAccessGroup, чтобы связать пароль с конкретным именем пользователя, но он вылетает.
ВОПРОС: Как я могу связать сохраненный пароль с именем пользователя, потому что мое приложение позволяет входить в систему нескольким пользователям.
Ответ №1:
Я знаю, что на самом деле это не ответ на ваш вопрос. Но я использую SFHFKeychainUtils
(Github).
Это также оболочка, и она позволяет вам именно то, что вы ищете. Сохраняйте пароль, связанный с именем пользователя. Вот некоторый код, как я это сделал с помощью SFHFKeychainUtils.
NSString *username = @"Username";
NSString *password = @"Password";
[SFHFKeychainUtils storeUsername:username andPassword:password forServiceName:@"Your App" updateExisting:YES error:NULL];
Или передайте указатель на NSError
объект, если вам нужна какая-либо информация об ошибке. 😉
Я надеюсь, что мой ответ поможет вам…
Sandro Meier