Securing Your Application Keys

CocoaPods-Keys is a way of removing API keys and secrets from your code. Securing application keys can be difficult, CocoaPods-Keys abstracts away this difficulty for you. When you add keys and associated values using CocoaPods-Keys, the key names are stored in ~/.cocoapods/keys/ and the associated values in the OS X keychain.

Read more

The difference between animateWithDuration and transitionWithView

I am currently focusing my effort on learning how to create animations in iOS. I started reading and following along with Marin Todorov book, iOS Animations by Tutorials.

So far I am really enjoying the book. In an attempt to better understand the concepts in the book and make them stick in my head, I have been coding sample applications and plan on blogging on the subject. The first of these blog posts, based on a question which popped into my head, “what is the difference between animateWithDuration and transitionWithView?”

Read more

Better Completion Handlers In Swift

So it has been almost a week since iOS Dev UK in Aberystwyth. The last session I attended was Power Swift which was run by Natasha the Robot. I have been looking at writing better Completion Handlers in Swift.

Within the session Natasha helped us through a series of Playground files on: ‘Error Handling’, ‘Higher Order Functions’, ‘Protocol Orientated Programming’, and ‘Reference Types vs. Value Types’. One thing that struck me is the approach to completion handlers. An approach which pushes beyond merely copying the Objective-C way of doing things and embraces the Swift language and brings out of the Swift Architect within you.

Read more

A Summary of iOS Dev UK

iOS Dev UK 5

I am just back from a week at iOS Dev UK 5 and what a week it was. It is only when you attempt to provide a summary of all the sessions that you attended during the week that you realise the amount of sessions and the quality of sessions on over at iOS Dev UK. Looking forward to next year already.

Read more

5 Steps To Effectively To Debug Software Problems

A key skill in being a good developer is the ability to effectively debug software problems. Your skill at debugging improves with experience. When I think back to the start of my career as a developer I sucked at debugging. Over time I have built up a number of strategies to get to the bottom of a problem and fix quickly and efficiently.

Read more

Rocking the Singleton Pattern in Swift

UPDATE: KrakenDev published an updated Singleton pattern in Swift. Swift 1.2 gave us static class members which means we can amend our Singleton pattern be:

class Singleton {
    static let sharedInstance = Singleton();
    private init() {}


The Singleton Pattern is a common design pattern in software engineering.

The Singleton Pattern ensures, a class has only one instance, and provides a global point of access to it

The Singleton Pattern is useful when exactly object is needed. For example you may choose to implement a Logger as a Singleton to provide global access to a log.

Read more