Last time I blogged about iPhone development, it was like nails on a chalkboard to Steven, a friend and coworker of mine and the author of Routesy San Fransisco. When I got into work that day, he called over to me: “Joe, next time you work on your iPhone development, maybe I should help.” This drew some laughter from several other coworkers, who it turns out also read my blog.
I took him up on this generous request. He’s writing a chapter for a book on iphone development (sorry, I can’t find a link to it). After he helped me get into a state where I can start developing – which involved a bunch of steps I no longer remember, sorry again – we walked through the first part of his chapter, and he gave me an electronic copy of it to take home and walk through further. I did some objective C programming, as well. It has some funny features. It uses reference counting to persist objects, but you have to handle the references manually. Also, it uses this weird square-bracket notation for calling member functions on instances: [MyInstance doThing]. If there’s a single parameter, it’s like this: [MyInstance doThing:Parameter]. If there are two parameters, it’s even weirder: [MyInstance doThing:FirstParameter secondParameterName:ActualSecondParameter]. The internal name of the second parameter comes right before a colon, same as the name of the method itself. I’m sure this comes naturally after you’ve been coding objective C for a while, but it’s confusing still.
I won’t be getting any practice on this today, since I’m busy downloading the iPhone 3.0 SDK, which is now mandatory. Apple sent out an email to all developers saying that all apps will now be tested against 3.0. This really only means they have to be forwards-compatible, but there’s no reason to bother with 2.2 when I don’t know what will and won’t be. Instead, I’m using my 2 hours of personal project time to update all my blogs and research quaternions for my GDC notes series.