Screencast: Testing Objective-C with the XCTest Framework

If you’re looking to get started with unit testing in Objective-C, check out this screencast I created on testing with the XCTest Framework. It goes over the basics of assertions with XCTest, and you can follow along writing tests yourself to learn how it works. There’s no good excuse for not unit testing your Objective-C code – as you’ll see, it’s …

Logging class and method names in Objective-C

Today I was debugging a tricky problem in an iOS app that only happened when I was not using the debugger. Due to some strange timing issue (that I have yet to figure out), stopping on breakpoints actually caused the problem to go away, no matter how quickly I clicked the debugger’s continue button. So how was I to find …

Using Regular Expressions to replace text in Xcode

Surely you already know how to use Xcode’s Find and Replace feature to fix deprecated APIs in your project like the UITextAlignment to NSTextAlignment change. But did you also know you can replace regular expressions in Xcode? First, let’s look at replacing text… Replacing Text in Xcode So as you probably know, you can replace text in your project with …

Developing for iOS 7 (and supporting iOS 6)

I’ve been updating apps for iOS 7 in addition to writing a book about it, so I thought I’d share what I’ve learned. If you’re updating apps for iOS 7 (and especially if you’re still supporting iOS 6), read on. I hope you learn something here. Why your views are hidden beneath the status and navigation bars (and what to …

Fonts in iOS 7

Here’s the list of available fonts in iOS 7, brought to you by iFonts.

Zero Inbox is available on the App Store!

We’re happy to announce that Zero Inbox is available on the App Store! You can use it to save time every time you send an email by staying out of your inbox. It’s on sale for launch, so get it on the App Store today for 50% off!

Increasing Your Productivity with Zero Inbox

If you ever get distracted by your inbox when you send email, you might like the new app we’ve been working on. It’ll save you time every time you send an email – it helps you to avoid distractions by keeping you out of your inbox when all you’re doing is sending an email. So you can send an email …

The Problem with Using LGPL v2.1 Code in an iOS App

If you’re wondering whether you can use an open-source framework that’s licensed with the GNU LGPL v2.1 in your iOS app, I’d recommend against it. Here’s why. Recently I was looking at including an open source project in an iOS app I’m working on. I found one option that was licensed with the GNU LGPL v2.1, so I did some research on …

A case for switching to CocoaPods from Git Submodules

In a previous post, I linked to Sam Vermette’s article on Switching from Git Submodules to CocoaPods. Now I’d like to explain why we did it for our projects, and why you might want to, too. The problem with git submodules is this: your project doesn’t have the source for code you depend on. It only has a reference to the …

Roadfire has a new address!

I’m happy to announce that Roadfire has a new address! We’re growing, so we’ve moved from my home to an office space where we’ll be able to do what we do even better – we now have space where we can do pair programming, hold meetings with clients and partners, and do everything else that works better in person. Our …