How to create an Uber successful digital product visionRecommended By Josh Guest
We at b2cloud play a fundamental role for businesses looking to build successful digital products. We often hear passionate product owners, experienced CEO’s and founders articulate their vision to us saying… “I want to build
The car of the future is shared and driven by softwareRecommended By Josh Guest
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 Tom
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
Using the Keychain to store passwords on iOSGuides | Tutorial By b2cloud 5 years ago
When people need to save a password or any other type of sensitive information in an iOS app I see them way too often just storing it in plain text in the NSUserDefaults. This is bad bad bad. Some other times people will try and implement their own encryption or ciphering to hide the real information, but there is no need. From OS X, the iOS implements the keychain. This is Apple’s way of storing things securely for you, and it’s dead easy so there’s no need to store things insecurely.
Woes of KeychainWrapper and NSAssertThoughts By b2cloud 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.