Siempre debe usar Keychain para almacenar nombres de usuario y contraseñas, y dado que se almacena de forma segura y solo es accesible para su aplicación, no hay necesidad de eliminarlo cuando la aplicación se cierra (si esa era su preocupación).
Apple proporciona un código de muestra que almacena, lee y elimina elementos de llavero y aquí se explica cómo usar la clase de contenedor de llavero de esa muestra, lo que simplifica enormemente el uso de Keychain.
Incluya Security.framework (en Xcode 3, haga clic con el botón derecho en la carpeta de frameworks y agregue el framework existente. En Xcode 4 seleccione su proyecto, luego seleccione el objetivo, vaya a la pestaña Build Fases y haga clic en + debajo de Link Binary With Files) y KeychainItemWrapper .h &. m archivos en su proyecto, # importe el archivo .h donde necesite usar llavero y luego cree una instancia de esta clase:
KeychainItemWrapper *keychainItem = [[KeychainItemWrapper alloc] initWithIdentifier:@"YourAppLogin" accessGroup:nil];
( YourAppLogin puede ser cualquier cosa que elija para llamar a su elemento de Llavero y puede tener varios elementos si es necesario)
Luego puede configurar el nombre de usuario y la contraseña usando:
[keychainItem setObject:@"password you are saving" forKey:kSecValueData];
[keychainItem setObject:@"username you are saving" forKey:kSecAttrAccount];
Consíguelos usando:
NSString *password = [keychainItem objectForKey:kSecValueData];
NSString *username = [keychainItem objectForKey:kSecAttrAccount];
O elimínelos usando:
[keychainItem resetKeychainItem];