For the last several weeks, I’ve had the blessing (or the curse) of being in charge of the development of an iPhone application for my startup.
The development tools are based heavily on OSX development tools. Get to know Objective-C and Cocoa. If you, like myself, primarly program on the web with tools like PHP & Ruby on Rails, you will need to understand the nuances of ObjectiveC up-front. It is a client-side language, based primarily on C.
- Understand how Interface Builder hooks into Xcode. If you don’t ‘get it’ at first, don’t fret. You’re not alone. There are three basic things you need to do to connect your IB Interface to your Xcode class (otherwise known as a ‘view controller’)
- Set your XCode class as the ‘files owner’ of your IB Interface. Do so in the ‘Application Attributes’ tab of IB.
- Declare a method (or attribute) in the header (*.h) of your class definition file.
- In IB, find the ‘Application Connections’ tab, Click the oval next to the method or attribute, and drag a connection from the Application Connections tab to a element on your interface.
- You’re all set! If you declared a method, that method will be called when a user taps that button on the interface. If you delcared an UIElement, and you want to access the text, or any other attribute of that UIElement, you can now do-so in Xcode.
- Establish a mentor. But, if you can’t find one, find a place you can go if you need help. I recommend this iPhone Dev Forum.
- Take advantage of posted sample code. There are many examples available on Apples Official Developer Center. If you are not very good at RTFM development, I recommend the tutorials available at iPhone Noob, and iCodeBlog, and the Stanford iPhone Developer Course Webpage.
- Understand iPhone standard design patterns. Like it or not, iPhone users have developed expectations on how their user interface will behave. Bill Westerman has an excellent guide on how to implement these standards here.
- Apply to the Apple Developer Program. And, do so early. As soon as possible. They’re slowwwwwwwwww.
- Understand Objective-C memory management And understand it from the beginning. When you deploy to your iPhone, you’ll be thankful. Meet dealloc and release, they’re your new best friends.
Happy iPhone-ing! You’re developing on one of the most innovative devices out there. We are at the dawn of the mobile internet, and you’re developing for the best mobile device available today. Enjoy it