Я пытаюсь использовать KeychainItemWrapper.h
и keychainWrapperItemWrapper.m
для хранения учетных данных пользователя, таких как имя пользователя и пароль. В настоящее время я сохраняю, когда пользователь входит в систему в первый раз, например:
KeychainItemWrapper* keychain = [[KeychainItemWrapper alloc] initWithIdentifier:@"login" accessGroup:nil];
[keychain setObject:_usernameField.text forKey:(__bridge id)kSecValueData];
[keychain setObject:_passwordField.text forKey:(__bridge id)kSecAttrAccount];
Это сохраняет значения в связке ключей. Но в следующий раз, когда пользователь откроет приложение, я хочу снова получить имя пользователя и пароль. Однако, когда я вызываю следующее:
NSString *password_ = [keychain objectForKey:(__bridge id)kSecValueData];
NSString *username_ = [keychain objectForKey:(__bridge id)kSecAttrAccount];
Кажется, я получаю странный зашифрованный ключ, такой как: <6f78696c 69676874 2d746573 74>
Есть ли способ получить исходные строки для имени пользователя и пароля? Я никогда раньше не работал с брелком, буду признателен за любую помощь!
NSString
преобразуется вNSData
. Значение<6f78696c 69676874 2d746573 74>
являетсяNSData
эквивалентомNSString
оксилайт-теста. Откуда вы взялиKeychainItemWrapper.h
и как вы интегрируете его в свой проект? Вы используете CocoaPods? Какую версию Xcode вы используете? Какую версию iOS вы используете? - person idz   schedule 17.08.2017