Yesterday I started learning how to write applications for the iPad and the iPhone. There are so many books that promise to teach you everything you need to know that picking one or two (or three) can be very difficult. While I normally like to learn new skills by reading a good book, I think for iOS development a more dynamic source would be a better choice.
The iOS Developer Center from Apple is the best source of current, complete documentation for the iPhone and iPad development. This is especially important as the developer tools are updated and new toolkits are introduced, making printed books obsolete. While there are literally thousands of tutorial documents and videos, and because there are so many it’s very difficult to decide where to start.
The best tutorial I have found so far is the iPhone Application Development class (CS193P) taught at Stanford University in the Winter of 2010. This is an actual course taught at Stanford, available on iTunes for free. Most of the lectures are taught by iPhone engineers. The video of every lecture is available online on iTunes (search for “CS193P”), as are class slides. There’s also a Downloads web page that has source code, assignments and other supporting files. If you’re considering taking this class download these files as soon as possible, because the next time this class is offered those files may be deleted off the web server. If by the time you read this it’s too late, let me know, and I can send you the copies I downloaded.
As if to illustrate just how quickly information becomes outdated, even some key parts of the course’s videos are no longer accurate. In Lecture 1, actions and outlets for the controller class are set in the Class Inspector. As this post shows, as of version 3.2 of the Interface Builder, there is a new tab in the Library window called “Classes.” The “Classes” tab is where you should now go to manage actions and outlets.