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

Writing an Objective-C wrapper for C++

Guides | Tutorial By 3 years ago

Recently at work I completed a C++ library that we’re using in both our iOS and Android apps. To make it easy for our native iOS app to use, I also wrote an Objective-C wrapper

Convenient Swift Features (vs. Obj-C)

Guides | Tutorial By 3 years ago

Swift has made huge leaps over Objective-C when it comes to certain code-level features. This reduces the amount of code needed to be written to achieve the same, and also makes Swift code much more

Transitioning from Objective-C to Swift

Thoughts | Tutorial By 3 years ago

When Apple mentioned Swift dropped the C baggage from Objective-C they meant it. Unfortunately there were many C tricks I used in Objective-C projects that now need a workaround. I’ve been looking at different ways

Obj-C performance week 1: Concatenating strings

Thoughts By 4 years ago

This post will compare the time taken to concatenate strings using common NSString and NSMutableString methods. Often I see people using initWithFormat: to paste together all their strings, but is this the fastest?

Using Private iOS APIs

Guides | Tutorial By 5 years ago

For the most part iOS will let you code anything you want, however occasionally you will find the need to do something out of the ordinary, or reuse an existing class. Trying to do this with public APIs can be a headache, and often requires tons of code. You may heave heard of private APIs, and also may have heard about how apps get rejected from the AppStore for using them. This is often true, but if you know how to safely and properly use private APIs then you can harness their power.

NSNotificationCenter for iOS and Mac

Guides | Tutorial By 5 years ago

If you’ve ever needed to have an object with multiple delegates you may have created an array and then added each of your delegates to it. This does work but there’s a simpler way which is much easier to implement. Using the NSNotificationCenter you can have objects subscribe to the events/messages they want to know about and get called whenever that ‘event’ takes place. The Cocoa framework uses this as well, and let’s you subscribe to things such as an app entering the background, changing orientations, when it’s running out of memory and when the keyboard is presented or dismissed.

Mac framework headers and Xcode

Guides | Tutorial By 6 years ago

When developing on the Mac and using custom frameworks in your application, when you compile the frameworks are copied into your applications bundle then linked at runtime. These frameworks will most likely be bundled up with their headers. Some of the frameworks you include may not be things you want to make public to the world, which you are essentially doing by including the headers with the framework.

Stack traces in Xcode 4.1+

Guides | Tutorial By 6 years ago

Since Xcode 4.1 when your application throws an exception your console just prints a list of function pointers and you don’t get a proper stack trace. This isn’t helpful if you’re trying to find the exact line the error occurred on.

Retain Loops and Delegates

Guides | Tutorial By 6 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).

UserInfo at NSObject level

Guides | Tutorial By 6 years ago

Many times during development I have needed to attach simple user info to objects in Objective-C, such as a table row, context info and other object pointers. Previously to achieve this I would subclass my target object’s class and add the variables needed to hold the extra information. This worked, but had a couple of problems.