Get Updates By E-mail 

Article Written By:
Johann Dowa

Open Source Library Providing A Complete Swift Based Wrapper Of The C Based iOS Keychain API


Previously I mentioned a nice Objective-C library for easily saving NSUSerDefaults data to the keychain called PDKeychainBindingsController.

Here’s a very complete Swift wrapper library of the iOS C Keychain API submitted by Denis Krivitski called KeychainSwiftAPI.

Dealing with the the C based Keychain API can be extremely tedious, and KeychainSwiftAPI has neatly wrapped all the functions, and attributes of the C API following the best security coding practices and guidelines in order to avoid any security vulnerabilities.

This code example from the readme shows how to create a query object, populate it with values, and call a keychain object:

let q = Keychain.Query()

q.kSecClass = Keychain.Query.KSecClassValue.kSecClassGenericPassword
q.kSecAttrDescription = "A password from my website"
q.kSecAttrGeneric = "VerySecurePassword".dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)
q.kSecAttrAccount = "admin"
q.kSecReturnData = true
q.kSecReturnAttributes = true
q.kSecReturnRef = true
q.kSecReturnPersistentRef = true

let r = Keychain.secItemAdd(query: q)

The API is very close to the C API so there should be little difficulty when following any documentation using the C API.

You can find KeychainSwiftAPI on Github here.

A nice Swift keychain wrapper.


Submit A Resource

Have you created a useful tutorial, library or tool for iOS development that you would like to get in front of our 300,000+ monthly page views from iOS developers?

You can submit the url here.

The resources we feel will appeal to our readers the most will be posted on the front page.