Learn Swift

Jon Friskics suggets Swift is great, but you should still know Objective-C first. Dave Mark agrees. Let me give you a different opinion: No, newbie, you don’t need to learn Objective-C first. You’ll miss it from time to time and you might want to pick it up later, but it won’t help you much now.… Continue reading Learn Swift

Debugging app upload

I’ve had some recent troubles trying to upload a build in Xcode. These involved getting a really unhelpful error from Xcode: “No identities were available.” Unfortunately, I was stuck there for two days. It turns out that you can get Xcode to log more information on the handshake with the portal. Quit Xcode, then run… Continue reading Debugging app upload

On Frameworks

A coworker sent me a link to this posting on the state of libraries on iOS. I sent back a quick reply, with the intent to write a blog post on the subject later. I’ve since decided that this replay says almost everything I wanted to say, so I decided to just edit it a… Continue reading On Frameworks

Change back button title

When you’re using a navigation controller, the title of the back button on a particular view controller is pulled from the view it leads to. Although this can be initially confusing, this actually makes a lot of sense. If two different view controllers (say, Circles and Squares) might push the same view controller (Details), shouldn’t… Continue reading Change back button title

Presenting BlockAssert

Assertions are a great tool. As an Objective-C programmer, I use NSAssert and NSCAssert liberally. For various reasons, you sometimes can’t use NSAssert in a block easily. I’m going to explain why and describe a new macro, BlockAssert, which solves this.


Apple has a sample code package called Reachability. It wraps an iOS framework called SystemConfiguration, and can be used to determine network status, and catch events about networking going up and down. In the past, it’s been an ugly chunk of sample code, but it’s pretty respectable now. One thing Reachability is not, however, is… Continue reading Reachability