I’ve been learning the basics of iOS programming for the past few months. The best resources I’ve found to get started are tutorials — working through the app project and then making my own customizations to further extend my understanding.
Last week I built my first app entirely of my own devising. It’s a trivially simple GPS-based app and the details aren’t worth sharing (not yet, anyway).
However, there were a number of hurdles along the way. I thought it would be helpful to share some of the useful resources that helped me get over those hurdles.
First, two books that I highly recommend for learning iOS and Xcode are IOS Programming: The Big Nerd Ranch Guide by Joe Conway and Aaron Hillegass (make sure you get the most recent edition) and the Your First iOS 7 App ebook by Ash Furrow. Ash went above and beyond by helping me with a few questions as I worked through his book.
I’m dealing with CLLocationManager, and the locationManager:didUpdateLocations method changed with iOS 6. Matthew at DevFright.com has written some good posts on this including a DidUpdateLocations iOS Example and A Closer Look at the CLLocationManagerDelegate that may help you understand better how to deal with location data.
Daniel Isenhower has a good post explaining Using CoreLocation (GPS) on iOS to track a user’s distance and speed. He’s really explaining his own PSLocationManager library, but I found getting a grasp on how he built PSLocationManager to be a good tutorial in the underlying CoreLocation framework.
A polished app needs icons and launch images. The details on the sizes you’ll need are in Apple’s iOS Human Interface Guidelines: Icon and Image Sizes.
Status bar display details changed in iOS 7 and, because my app has a black background and does not employ a UINavigationController, I had a hard time figuring out why the status bar wouldn’t appear. (It was there, but it was black. Not helpful.)
Taylor Case wrote an in-depth Developer’s Guide to the iOS 7 Status Bar that explains the status bar changes and what you can do about it. Related reference material: Apple’s iOS Information Property List Key Reference.
Something I never did find: a good, current, step-by-step guide for updating developer certificates and provisioning profiles. I muddled through and seem to have pressed all the right buttons in the right order — at least well enough to get the app on my test device — but it was more accident than expertise. Let me know if you come across a useful reference.