UICKeyChainStore is a simple wrapper for Keychain on iOS. Makes using Keychain APIs as easy as NSUserDefaults.
Objective-C
Switch branches/tags
Nothing to show
Pull request Compare This branch is 1 commit ahead, 282 commits behind kishikawakatsumi:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.gitattributes
.gitignore
LICENSE
README.md
UICKeyChainStore.h
UICKeyChainStore.m

README.md

UICKeyChainStore

UICKeyChainStore is a simple wrapper for Keychain on iOS. Makes using Keychain APIs as easy as NSUserDefaults.

License

MIT License

Adding to your project

  1. Add Security.framework to your target
  2. Add UICKeyChainStore.h and UICKeyChainStore.m to your project.

Usage

Using convienient class methods

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"];

=====

Using store object, easier to edit multiple items

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.

Debug print

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.)