So, your business needs an app? (Spoiler, you probably don’t)

Recommended By

I recently presented this at the Eastern Innovation Business Centre about everything you need to know before including an app in your digital strategy, with steps and tips for success for startups to large enterprises.

Technology and the human touch

Recommended By

Last week we had the pleasure of welcoming Kelly Schulz to b2cloud who ran an amazing accessibility and inclusion workshop to help further our understanding and empathy for all our users. While the focus was

The car of the future is shared and driven by software

Recommended By

There are many visions on where mobility is going and how transportation will evolve. Which will prevail? Where will the disruption occur? I suspect the car I drive now, will be the last one I

Hey Siri, how do I start a conversation with someone with a disability?

Recommended By

We all love Siri’s little witty quips, but I recently read a heartwarming article over on Mashable that reflects the power of technology to change lives in ways that most of us would never appreciate. I won’t spoil

CES 2017: Health and Accessibility

Recommended By

This year’s CES certainly lived up to the Las Vegas expo’s reputation as the place to see what’s next in tech, showcasing innovations that will set the tone for the rest of the year and beyond. The

Woes of KeychainWrapper and NSAssert

Thoughts By 6 years ago

If you have ever needed to store a password or other sensitive data in an iPhone app, you have probably used Keychain Access, Apple’s solution to storing data securely. You have also probably used Apple’s KeychainWrapper class, offering a very easy wrapper to storing info in the keychain.

The KeychainWrapper worked well in debug mode, but when building for release it didn’t seem to be writing objects to the keychain. I was fumbling around with this for hours, going over my own code thinking I had made a mistake somewhere. In the end I figured out what the problem was, in Apple’s code for KeychainWrapper the actual line that executed the commit to the keychain was inside an NSAssert, which is used for development, but as soon as you build for release or distribution every NSAssert is nullified, giving the same effect of commenting out anything on that line, removing the keychain commit code.