UICKeyChainStore is a simple wrapper for Keychain on iOS. Makes using Keychain APIs as easy as NSUserDefaults.
MIT License
- Add
Security.framework
to your target - Add
UICKeyChainStore.h
andUICKeyChainStore.m
to your project.
Add items using default service name (=bundle identifer).
[UICKeyChainStore setString:@"kishikawakatsumi" forKey:@"username"];
[UICKeyChainStore setString:@"password1234" forKey:@"password"];
//=> ["username" = "kishikawakatsumi", "password" = "password1234"]
Or specify the service name.
[UICKeyChainStore setString:@"kishikawakatsumi" forKey:@"username" service:@"com.kishikawakatsumi"];
[UICKeyChainStore setString:@"password1234" forKey:@"password" service:@"com.kishikawakatsumi"];
Remove items.
[UICKeyChainStore removeItemForKey:@"username" service:@"com.kishikawakatsumi"];
[UICKeyChainStore removeItemForKey:@"password" service:@"com.kishikawakatsumi"];
=====
Instantiate store object with default service name.
UICKeyChainStore *store = [UICKeyChainStore keyChainStore];
Or specify the service name.
UICKeyChainStore *store = [UICKeyChainStore keyChainStoreWithService:@"com.kishikawakatsumi"];
Add items and save.
[store setString:@"kishikawakatsumi@mac.com" forKey:@"username"];
[store setString:@"password1234" forKey:@"password"];
[store synchronize]; // Write to keychain.
Remove items.
[store removeItemForKey:@"username"];
[store removeItemForKey:@"password"];
[store synchronize]; // Write to keychain.
UICKeyChainStore *store = [UICKeyChainStore keyChainStoreWithService:@"com.kishikawakatsumi"];
NSLog(@"%@", store); // Print all keys and values for the service.
Easy as that. (See UICKeyChainStore.h for all of the methods.)