2015 App Design Award Winners!

Recommended By

Another great win for the b2cloud team, being recognised by the App Design Awards for our incredible work with Catch of the Day owned Yumtable. The industry awarded b2cloud 2 Silver awards for the Best

[livestream] Google I/O conference: Day 1

Recommended By

It’s that time of year again, and I’m lucky enough to be in San Francisco representing the b2cloud team at Google IO conference. I’ll be live blogging during the day so stay tuned for all

Google Play SEO

Recommended By

It is critical that users can easily find your App on Google Play, and this can be achieved by following these tips. App Name Probably the most important place to have relevant keywords. The name

b2cloud wins Mobile Design Awards 2014

Recommended By

We are thrilled to announce that b2cloud has won the Mobile Design Award for Best Wearable Technology for our work with Telstra. The award recognises our innovative work using Google Glass to help empower the visually

Automatic Reference Counting

Guides | Tutorial By 2 years ago

Automatic Reference Counting (ARC) has been around since iOS 5, however it has been an optional tick box when beginning a new project, and if not selected, Manual Reference Counting (MRC) is used. As of Xcode 5, the ARC tick box is missing, and all new projects start with ARC. While you can still disable ARC manually in the project's config file, this is probably a good sign that ARC is the way to go for new projects.

Separating Xcode builds (debug vs release)

Guides | Tutorial By 2 years ago

When you send a build to your client or testers, it can be difficult telling development builds from AppStore builds. At b2cloud we split the builds with two different app ids, and a different app title to make it easy to tell them apart. Because the app id is different it means you can have both builds on your device at the same time, and the development one wont overwrite the AppStore one, and vice versa.

Xcode’s Analyzer (and how to prevent it)

Guides | Tutorial By 3 years ago

Xcode’s “Analyzer” is normally a great way to determine where most memory leaks will occur in your project without actually running it. If you follow Apple’s Memory Management Guidelines the Analyzer is pretty accurate. By no means is it a replacement for the Profiler, but offers some quick checks.

iPad 3 – “New iPad”

Thoughts By 4 years ago

This is an email sent to our clients on launch of the New iPad today Team, You may have heard that a “New iPad” (that’s the name) was released overnight. This will impact clients with native

Retain Loops and Delegates

Guides | Tutorial By 4 years ago

When using delegates in an object in Objective-C it is important that the delegate is only assigned within your object, and never retained. The reason for this is to prevent a retain loop, where two objects retain each other; they will never be released. The fix is simple, but can catch you off guard if you want to create an array or dictionary of delegates (using an NSDictionary or NSArray).

Woes of KeychainWrapper and NSAssert

Thoughts By 4 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.