Categories

The following items are in the Development category.

Cooking with gas

One of the great things about the NDA being lifted is that a lot of great books about iPhone development are finally being published. It’s about time: for many months the top search hit on this site has been iphone app development. A lot of new developers need guidance. Last week, Addison-Wesley contacted me saying [...]

The final test

During the early days of iPhone software development, there were no mechanisms for doing beta tests. Those of us on the bleeding edge were developing apps with very little peer review and beta testing. Luckily, I have friends who are a lot smarter than me. And we banded together with one primary rule: you don’t [...]

Debugging with backups

If you’ve written an application for the iPhone, you’ll eventually encounter a customer problem that you can’t reproduce. Of course, you’ll want to get a copy of the customer’s data and preferences so you can replicate the environment they are working in. And then you’ll realize that it’s a total pain in the ass for [...]

Splash screens

Twitterrific has a splash screen and I would like to get rid of it. But I can’t. Splash screens hurt the user experience from a purely psychological point-of-view. They don’t change the launch time of your iPhone application at all, but it looks and feels longer. But there’s a problem: you can only specify one [...]

Fancy UILabels

People have asked which part of our Twitterrific application for the iPhone was hardest to develop. There were many challenges, but the one I found most onerous was scrolling in the UITableView. The code we shipped in 1.0 was obviously flawed. Scrolling was jerky. We weren’t happy with it and neither were users. There was [...]

[REDACTED]

Thank God—that’s the last time I’m going to type that word for awhile. The meme is dead, long live the SDK. As a way to celebrate the lifting of the NDA, we bring you some very special source code. To wile away the time between our product submission and the launch of the App Store, [...]

Killing our enthusiasm

Dear Steve, I am an iPhone developer. I love Cocoa Touch—it’s an amazing piece of engineering. I’m having great success with the products I’ve written (one of them even won an ADA at this year’s WWDC.) Sales through iTunes are great and well above my expectations. And despite of all this, I’m feeling ambivalent about [...]

Lights Off

There was a time when I would have never considered jailbreaking my iPhone. That was a time before I saw Lucas Newman’s and Adam Betts’ groundbreaking application for the iPhone: Lights Off. It’s a simple game. It’s simple code. And it demonstrated what was possible for the rest of us outside of Cupertino. I was [...]

Dealing with memory loss: the cleanup

As we saw in the previous post, your view controller’s view can be released at any time because the device needs memory. One of the things you’ll want to look at in your own code is how you cleanup when when the memory warning occurs. Here’s an interface for a simple view controller class that [...]

Dealing with memory loss: the crash

Now that we’re beta testing and able to symbolicate our crash logs, let’s look into one of the crashes that they helped me solve in version 1.0 of Twitterrific. The crash was happening during the posting of a notification. The backtrace looked something like this: Program received signal: “EXC_BAD_ACCESS”. #0 0x300c87ec in objc_msgSend #1 0x30675b0e [...]