Skip to content

danielalves/NitroKeychain

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NitroKeychain

Version Platform TravisCI

NitroKeychain is a thin, yet powerful, abstraction layer on top of iOS keychain that provides commonly needed features. NitroKeychain is also thread safe.

There are 3 operations: save, load and delete, as you can see below:

Saving

Objective-C

[TNTKeychain save: @"com.myapp.service.id" 
             data: @"my-ultra-secret-token"];
             
// Or, if you want to make this item available across apps, specify 
// an access group:
[TNTKeychain save: @"com.myapp.service.id" 
             data: @"my-ultra-secret-token"
      accessGroup: @"super-company"];

Swift

TNTKeychain.save("com.myapp.service.id", data: "my-ultra-secret-token")
             
// Or, if you want to make this item available across apps, specify 
// an access group:
TNTKeychain.save("com.myapp.service.id", 
                  data: "my-ultra-secret-token", 
                  accessGroup: "super-company")
  • All keychain items are stored using the kSecClassGenericPassword Keychain Item class.
  • data can be any value compatible with NSKeyedArchiver/NSKeyedUnarchiver.
  • If there is already some data associated with a keychain item ID, it will be updated.

Loading

Objective-C

NSString *token = [TNTKeychain load: @"com.myapp.service.id"];
NSLog( @"%@", token );
  • load will return nil if no keychain item is found with such id.

Swift

let token = TNTKeychain.load("com.myapp.service.id")
print(token)

Deleting

Objective-C

[TNTKeychain delete: @"com.myapp.service.id"];
  • delete does nothing if no keychain item is found with such id.

Swift

TNTKeychain.delete("com.myapp.service.id")

Simple as that 👍

Requirements

iOS 6.0 or higher, ARC only

Installation

NitroKeychain is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'NitroKeychain'

Authors

License

NitroKeychain is available under the MIT license. See the LICENSE file for more info.