Learning Objective-C, OS X, and iOS Programming

  20 March, 2013


Apple OSX Programming iOS

Since switching to a Mac last year, I’ve been determined to learn as much as I can about Objective-C and native OS X and iOS development. Typically, when I’m looking to learn a new language or subject, after I’ve exhausted the free online materials, I head straight to books from O’Reilly, Manning, or Addison-Wesley for a more in-depth look at the topic. This time around, I was very surprised to find dozens of very high quality programming guides and reference documents for developing on Apple platforms. To be honest, I was blown away by the quality of this documentation, and have yet to pick up a Cocoa or Objective-C book as I would have done in the past.

For starters, Programming with Objective-C is Apple’s official Objective-C language documentation. I started with this document, as I had never worked with Objective-C before and figured this was as good a starting place as any. Once you are able to wrap your head around the differences between things like Objective-C’s “message passing” (and it’s syntax) versus a language like C#, Java, or even JavaScript’s “method calling”, things start to become a lot easier. However, this is a pretty rigorous piece of documentation, as is not for the novice programmer. It assumes very much that you are a competent programming and doesn’t shy away from deep technical details. For those who can keep up, though, I think this is by far the best document for learning the language itself.

In my research online, I had also come across the Cocoa Fundamentals guide, which I read off and on while I was reading through Programming with Objective-C. This document explains Cocoa (and Cocoa Touch), Apple’s APIs for application development. It explains at a fairly high level what building blocks are available to you for developing your apps. It also talks a bit about the MVC pattern utilized by most Cocoa applications, as well as the general application lifecycle.

After graduating from these guides, I began stumbling across these more specific documents outlining particular APIs or topics on Apple’s developer site called Programming Guides. Simply put, these guides are AWESOME. They’re very thorough and walk you through the ins and outs of almost any topic you can think of.

I’ve been reading these guides the past few weeks, but have been putting my Google-fu to the test trying to find each and every one of these guides. I’ve got a respectable list started, but I feel like there are a few out there I haven’t included. Let me know if you find one!

Below this huge list of Apple docs, you’ll find a short list of other Apple programming sites and blogs I’ve been reading in order to soak up as much I can about these platforms. More adventures in Objective-C to follow in future articles.

Without further delay…

The Ultimate List of Apple Programming Guides

Last Update: April 27, 2013

Getting Started
Multimedia & Location
Core Foundation
Application Architecture
Xcode, Testing, Debugging, and Project Structure
App Store and Distribution

Honorable Mentions


NSHipster is, as they put it, “a journal of the overlooked bits in Objective-C and Cocoa” and they offer a series of very well written, thorough articles on a lot of more obscure stuff you may encounter in your Apple programming adventures. The articles blend the perfect amount of technical content with a touch of humor which makes them very fun to read.

Cocoa Literature List

The Cocoa Literature List has over 3500 categorized links to articles on Objective-C and Apple programming. You’ll find almost everything here; things like JSON, SQLite, and Bluetooth. The site includes a search and continues to be updated.