Ich möchte Schlüsselbund verwenden, um Benutzernamen, Passwort und Zugriffstoken zu speichern. Ich fügte die keychainItem.h
und keyChainItem.m
implementierten here hinzu. Und das ist, was ich tat:iOS: Speichern Benutzername, Passwort und Zugriffstoken mit Schlüsselbund
1- ich eine Eigenschaft Schlüsselbund erstellt in myViewController.h
dann in der viewDidLoad
ich instanziiert es wie folgt aus:
self.keychain = [[KeychainItemWrapper alloc] initWithIdentifier:@"Login" accessGroup:nil];
Als ich den Benutzernamen, das Passwort und die Zugriffstoken ist dies was ich tat:
2- sie den Benutzernamen zu speichern
[self.keychain setObject:userName forKey:(__bridge id)kSecAttrAccount];
Als ich es testen, es funktioniert.
Jetzt möchte ich das Passwort und das Zugriffs-Token hinzufügen.
Für die Zugriffstoken habe ich versucht,
[self.keychain setObject:accessToken forKey:(__bridge id)kSecAttrAccessible];
Als ich den Absturz der Anwendung führen:
Assertion failure in -[KeychainItemWrapper writeToKeychain] KeychainItemWrapper.m:322
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Couldn't update the Keychain Item.'
ich einen anderen Schlüsselanhänger
self.keychainToken = [[KeychainItemWrapper alloc] initWithIdentifier:@“Token” accessGroup:nil];
dann hat ich den Wert zu schaffen versucht, :
[self.keychainToken setObject:accessToken forKey:(__bridge id)kSecValueData];
Aber ich habe den gleichen Fehler.
Was ist los mit dem, was ich getan habe? Wie kann ich den Benutzer, das Passwort und den accessToken über einen Schlüsselbund speichern?
Und was ist mit dem Passwort? –
Wenn ich kSecValueData für den accessToken verwende, hast du recht. Aber wie kann ich das Passwort speichern? –
@Llg: Siehe die aktualisierte Antwort. – Poles