Files
UICKeyChainStore/README.md
kishikawaka katsumi 137b27381c Update README.md
2013-10-31 18:12:38 +09:00

93 lines
2.6 KiB
Markdown

# UICKeyChainStore
![version](http://cocoapod-badges.herokuapp.com/v/UICKeyChainStore/badge.svg) 
![platform](http://cocoapod-badges.herokuapp.com/p/UICKeyChainStore/badge.svg) 
[![Build Status](https://travis-ci.org/kishikawakatsumi/UICKeyChainStore.png?branch=master)](https://travis-ci.org/kishikawakatsumi/UICKeyChainStore)
[![Coverage Status](https://coveralls.io/repos/kishikawakatsumi/UICKeyChainStore/badge.png?branch=master)](https://coveralls.io/r/kishikawakatsumi/UICKeyChainStore?branch=master)
UICKeyChainStore is a simple wrapper for Keychain on iOS and OS X. Makes using Keychain APIs as easy as NSUserDefaults.
## License
MIT License
## Installation
### CocoaPods
`pod 'UICKeyChainStore'`
### Manual Install
1. Add `Security.framework` to your target.
2. Copy files in Lib (`UICKeyChainStore.h` and `UICKeyChainStore.m`) to your project.
## Usage
### Using convienient class methods
Add items using default service name (=bundle identifer).
```objective-c
[UICKeyChainStore setString:@"kishikawakatsumi" forKey:@"username"];
[UICKeyChainStore setString:@"password1234" forKey:@"password"];
//=> ["username" = "kishikawakatsumi", "password" = "password1234"]
```
Or specify the service name.
```objective-c
[UICKeyChainStore setString:@"kishikawakatsumi" forKey:@"username" service:@"com.kishikawakatsumi"];
[UICKeyChainStore setString:@"password1234" forKey:@"password" service:@"com.kishikawakatsumi"];
```
---
Remove items.
```objective-c
[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.
```objective-c
UICKeyChainStore *store = [UICKeyChainStore keyChainStore];
```
Or specify the service name.
```objective-c
UICKeyChainStore *store = [UICKeyChainStore keyChainStoreWithService:@"com.kishikawakatsumi"];
```
Add items and save.
```objective-c
[store setString:@"kishikawakatsumi@mac.com" forKey:@"username"];
[store setString:@"password1234" forKey:@"password"];
[store synchronize]; // Write to keychain.
```
Remove items.
```objective-c
[store removeItemForKey:@"username"];
[store removeItemForKey:@"password"];
[store synchronize]; // Write to keychain.
```
---
### Debug print
```objective-c
UICKeyChainStore *store = [UICKeyChainStore keyChainStoreWithService:@"com.kishikawakatsumi"];
NSLog(@"%@", store); // Print all keys and values for the service.
```
---
Easy as that. (See [UICKeyChainStore.h](https://github.com/kishikawakatsumi/UICKeyChainStore/blob/master/Lib/UICKeyChainStore.h) for all of the methods.)