Show Callers in Xcode 15

The Show Callers option has become more convenient in Xcode 15
more...

The drawbacks of Object Oriented Programming and how to overcome them in Swift

Object oriented programming (OOP) is widely used iOS development and most job descriptions list OOP as a requirement. However is has it's drawbacks which can be overcome using POP.
more...

Lean ViewControllers with MVP & MVVM

MVP (Model View Presenter) & MVVM (Model View ViewModel) can both help to tame the symptoms of massive view controllers.
more...

What is Unit Testing?

Understanding the what, why and how of Unit Testing, with examples, and also exploring when Unit Tests should not be used.
more...

Successful programming in a non-technical world

In most organizations ‘someone else’ figures out what the business needs and then directs programmers to build something fulfilling those needs. The best developers don’t completely rely on this, they instead make an effort understand the business needs rather than waiting around for instructions on how to meet them.
more...

Signing Amazon REST Requests with SHA-256 in Swift

Accessing an Amazon REST API requires an encrypted request call, encoded with your secret key. We’ll walk through an example with all the code you need to make it work.
more...

I built a tool to verify demand for new features

New features would delay the initial app launch, add more complexity, and the reality was that we didn’t know for sure if the extra work would actually make the app better or not, we were guessing at what we thought users would want.
more...

Syncing User Data and Preferences over iCloud, with Swift

It is a common user request… “I have an iPad and an iPhone, how can I save my favorites on one device and have them come up my other device?” If users have to create an account to use your app, then this functionality can be built in to your backend. However, sometimes, we don’t want to force users to create accounts to use our apps.
more...

The difference between Weak & Strong in Swift

A strong reference means that you want to “own” the object you are referencing with this property/variable. In contrast, with a weak reference you signify that you don’t want to have control over the object’s lifetime. The simplest way to think about this is in terms of tree roots.
more...