Objective-C / iPhone – Apple docs

Written by Haydn Williams

Over the past few days I’ve started working with Objective-C, coding for the iPhone. I’ve not used Obj-C before, or indeed C/C++, so I really am starting from scratch both with the language and the platform. Going through the bookmarks I’ve amassed over the last 72 hours, most of them are from the Apple site. As the major backer of Objective-C globally, they have lots of documentation relating to the language. You’ll need to register for an ADC account, which is free, and there’s then a wealth of information available to you. I don’t normally dig straight into documentation, preferring to work with online tutorials, but in this case I found the Apple reference docs to be by far the clearest. Their tutorials also explain why you’re doing things, whereas a lot of others tell you what to type but don’t give any justification for doing it. So below, is a list of

While Apple have loads of good documentation available, trying to wade through it all on their site is a bit of a nightmare (even just the iPhone reference library is huge), so I’ve compiled a list of what I found the most useful documents for a first-time Objective-C / iPhone developer. The descriptions are all Apple’s too.

Objective-C – [THESE LINKS ARE NOW DEFUNCT – BROWSE AROUND HERE INSTEAD: https://developer.apple.com/library/mac/navigation/]

  • Objective-C Tutorial
    This document introduces the Cocoa application environment using the Objective-C language and teaches you how to use the Xcode Tools development suite to build robust, object-oriented applications.
  • Objective-C
    This document both introduces the object-oriented model that Objective-C is based upon and fully documents the language.

iPhone

  • iPhone Development Guide
    This document describes the iPhone application development process. It also provides information about becoming a member of the iPhone Developer Program, which is required to run applications on devices for testing.
  • Your First iPhone Application
    This tutorial shows how to create a simple iPhone application. It is not intended to give complete coverage of all the features available, but rather to introduce some of the technologies and give you a grounding in the fundamentals of the development process.
  • Foundation Framework Reference
    The Foundation framework defines a base layer of Objective-C classes. In addition to providing a set of useful primitive object classes, it introduces several paradigms that define functionality not covered by the Objective-C language.
  • UIKit Framework Reference
    The UIKit framework provides the classes needed to construct and manage an application’s user interface for iPhone and iPod touch. It provides an application object, event handling, drawing model, windows, views, and controls specifically designed for a touch screen interface.
  • iPhone Human Interface Guidelines
    Read this document to learn about the range of application types you can develop for iPhone OS and the human interface design principles that inform all great software. In this document you also learn how to follow those principles as you design a superlative user interface and user experience for your software.
  • Featured Sample Code
    – Use the code and design from these samples to inspire your own development. This is a list of featured sample code. A complete list is available in the iPhone Reference Library.
  • All Sample Code
    – All the available code samples, not just the featured ones.

Programming Tools

  • iPhone OS Developer Tools
    Xcode is Apple’s suite of development tools that provide support for project management, code editing, building executables, source-level debugging, source-code repository management, performance tuning, and much more. Xcode is not the only tool you use though, and the following sections provide an introduction to the key applications you use to develop software for iPhone OS.
  • Interface Builder User Guide
    Interface Builder is a visual design tool you use to create the user interfaces of your iPhone OS and Mac OS X applications. Using the graphical environment of Interface Builder, you assemble windows, views, controls, menus, and other elements from a library of configurable objects.