Stockage des messages électroniques dans le trousseau d'accès impossible (KeychainItemWrapper)
Je suis en utilisant le ARCified version de KeychainItemWrapper disponible à github, et je n'arrive pas à stocker à la fois les e-mail et mot de passe.
KeychainItemWrapper *keychainItem = [[KeychainItemWrapper alloc] initWithIdentifier:@"myApp" accessGroup:@"MY_APP.com.yourcompany.GenericKeychainSuite"];
[keychainItem setObject:[self.email dataUsingEncoding:NSUTF8StringEncoding] forKey:(__bridge id)kSecAttrAccount];
[keychainItem setObject:self.password forKey:(__bridge id)kSecValueData];
Je fonctionne parfaitement tant que je stocker un e-mail... qui n'ont pas un arobase (@) il. Sinon, j'obtiens l'erreur
*** Assertion failure in -[KeychainItemWrapper writeToKeychain]
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Couldn't add the Keychain Item.'
Qui vient de ces lignes
result = SecItemAdd((__bridge CFDictionaryRef)[self dictionaryToSecItemFormat:keychainItemData], NULL);
NSAssert( result == noErr, @"Couldn't add the Keychain Item." );
Avez-vous une idée sur ce qui peut mal se passer ici ?
Grâce
Vous devez vous connecter pour publier un commentaire.
Bien, je viens de trouver la réponse en suivant les conseils sur cette page iOS KeychainItemWrapper pas de mise à jour, qui est d'ajouter
Je sais que c'est une vieille question, mais ce qui m'arrivait et les réponses ci-dessus n'a pas résolu mon problème. Dans mon cas, j'ai été accéder au trousseau lorsque le téléphone est verrouillé.
Enfin je suis arrivé à le résoudre en utilisant ce juste après l'initialisation du trousseau.
Il semble que keychain ne vous donne pas accès, sauf si votre téléphone est déverrouillé, par défaut.
Plus d'infos ici : http://b2cloud.com.au/tutorial/using-the-keychain-to-store-passwords-on-ios/