Create your own awesome maps

Even on the go

with our free apps for iPhone, iPad and Android

Get Started

Already have an account?
Log In

Apple Dev Doc by Mind Map: Apple Dev Doc
0.0 stars - reviews range from 0 to 5

Apple Dev Doc

Getting Started With User Experience

The Basics Before you begin writing code, you should do the following: Read iPhone Human Interface Guidelines to learn about the general types of iPhone applications, the characteristic appearance and behavior of user-interface objects, and general human-interface principles. Read Windows and Views in iOS Application Programming Guide to understand the concepts behind the two basic components of all applications, windows and views. Next see the sample code project UICatalog, which demonstrates how to create and configure a variety of user interface objects. Next Steps To make the best use of the classes that the UIKit framework provides for your application, you first need to decide what human-interface style the application is going to adopt. If your application is going to use controls or table views, you’ll also want to find out how to properly configure those objects. Designing for the Style of Application Which information you should read depends on the kind of application you are designing: If you are creating a full-screen application that draws directly to the screen without using any controls, read Windows and Views, Event Handling, and Graphics and Drawing in iOS Application Programming Guide. If you are creating a user interface that has multiple commands or modes, and you want to use a toolbar, read UIToolbar Class Referenceand View Controller Programming Guide for iOS. If you are creating a user interface with multiple screens that display hierarchical data, read UINavigationBar Class Reference and View Controller Programming Guide for iOS. If you want to combine radio toolbars and navigation bars or present modal views, read View Controller Programming Guide for iOS. To further clarify your understanding of view controllers, navigation bars, and toolbars, look at sample code projects such as NavBar andTheElements. Managing Controls and Tables Controls and table views are two important kinds of views used by many iPhone applications. A control is a view that, when manipulated in a certain way by a user, sends a message (called an action) to another object in the application (called the target). A table view presents rows of information that users can scroll through. Users can often tap a row in a table view to display a new view with information specific to the selected item. Users can also edit a table view to add, delete, and reorder rows. To learn how to configure a control such as a button or date picker so that, when manipulated, it sends an action message to a target: Read UIControl Class Reference. Read the class reference documentation for the particular control. Examine the code in the sample code project UIShowcase. To learn how to configure a table view, respond to selections, and manage such activities as inserting, deleting, and reordering rows: Read UITableView Class Reference and UITableViewCell Class Reference. Examine the code in the sample code project TableViewSuite. Making Other Enhancements to the User Interface You can enhance the presentation your application makes in various ways, including the following: If you want to rotate your user interface when the orientation changes, read View Controller Programming Guide for iOS. To internationalize your application, preparing it for localization in multiple languages, read “Internationalizing Your Application” in iOS Application Programming Guide and Internationalization Programming Topics. If you want to present contact information such as a person’s name, email address, and phone number, read Address Book Programming Guide for iOS and Address Book UI Framework Reference for iOS.



A Tour of Xcode

Xcode Workspace Guide

Xcode Project Management Guide

Documentation Set Guide

What's New in Xcode

Xcode Build System Guide

Xcode Debugging Guide


Interface Builder User Guide

Dashcode User Guide

Read Dashcode User Guide to learn how to use Dashcode to create web applications and Dashboard widgets.

Debugging with GDB

Bundle Programming Guide


iOS Technology Overview

Cocoa Fundamentals Guide, iOS Application Programming Guide, Implementing diff parts of your application, iPhone HIG, iPad HIG, Event Handling Guide for iOS, View Controller Programming Guide for iOS, Text and Web Programming Guide for iOS, Multimedia Programming Guide, iPad Programming Guide, environment, “The Application Runtime Environment., The Core Application Design”, Supporting Common Application Behaviors, “Implementing Standard Application Behaviors.”, Executing Code in the Background”, Supporting High-Resolution Screens.”, “Implementing Application Preferences.”, Cocoa Drawing Guide, View Programming Guide, Introduction to Coding Guidelines for Cocoa


Prereqs are indicated w/ number bullets

MVC stuff

green connect arrow: points to related docs

not sure where to put these sections or what to name them

orange arrow: points to a pre-req

(part of) UI Kit

Resource Type: Getting Started

Introduction to Model Object Implementation Guide

You should read this document to learn how to implement Cocoa model classes. You are expected to be familiar with Cocoa standards, conventions and so on as described in Naming Conventions and Defining a Class in The Objective-C Programming Language (for example, class names should start with a capital letter; instance variable names should start with a lower case letter; instance variables should not be public, and so on). In implementing a model object, you should adhere to themodel-view-controller (MVC) design pattern. To understand Core Data and why you might want to use it, see Getting Started with Core Data.

Start here


Beginner, The Objective-C Programming Language, Learning Objective-C: A Primer, Naming Conventions

Object-Oriented Programming with Objective-C

A Short Practical Guide to Blocks

Blocks Programming Topics

Objective-C Runtime Programming Guide


Memory Management Programming Guide

You should read this document to learn about the object ownership policies and related techniques for creating, copying, retaining, and disposing of objects in a reference-counted environment. This document does not describe details of allocating and initializing objects, and implementing initializer methods. These tasks are discussed in “Allocating and Initializing Objects” in The Objective-C Programming Language.  

Allocating and Initializing Objects

Core Foundation

Core Foundation Design Concepts

Memory Management Guide for Core Foundation

name for this node?

iOS Overview

Tools for iOS Development

Creating an iPhone Application

Your First iOS Application

Cocoa fundamentals: Design Patterns

The Objective-C Programming Language: Protocols

The Objective-C Programming Language: Declared Properties

App Delegate 411

name for this node?

iOS Development Guide

you should be familiar with the iOS application architecture, described in iOS Application Programming Guide. You should also be familiar with basic programming concepts.

Core Services>Foundation


Resource Programming Guide

information on how to use nib files at runtime, including how to load them from your code

User Experience

Apple Publications Style Guide

iAd Programming Guide

Core Data

Core Data is not an entry-level technology. It leverages many other Cocoa technologies and design patterns. You must understand these technologies and patterns before you can use Core Data effectively. Prereqs: C ocoa fundamentals Objective-C, memory management, notifications, and delegation. Data modeling and the model-view-controller design pattern The terminology used by Core Data is defined and explained in the “Object Modeling” in Cocoa Fundamentals Guide section of Cocoa Design Patterns. You should also ensure you understand the model-view-controller design pattern, and other related design patterns, described in the same document. Many of the ideas and patterns upon which Core Data is built derive from the relational model of database design—it is extremely helpful to have a basic understanding of this subject (see, for example, Wikipedia (Relational_model)). Key-value technologies Key-value coding and key-value observing underpin Core Data. You should understand the concepts described in Key-Value Coding Programming Guideand Key-Value Observing Programming Guide.

Getting Started with Core Data


Performance Overview

Code Size Performance GuidelinesCode Size Performance Guidelines

Code Speed Performance Guidelines

File-System Performance Guidelines

Memory Usage Performance guidelines

Concurrency Programming Guide

list of getting started guides