Jump To:
Leopard Guides
Cocoa is an object-oriented application environment designed for developing Mac OS X native applications. The Cocoa frameworks support rapid development and high productivity. Cocoa provides developers starting new Mac OS X projects the fastest way to full-featured implementations. Applications from other platforms can also be brought to Mac OS X quickly using Cocoa.

A guided introduction and learning path for developers new to Cocoa.   Essential information for developers using Objective-C.   Objective-C API references organized by framework.
Document Descriptions
On Off
Display

Sort by
Title
Sorted by
Topic
Sort by
Date
Accessibility Overview (HTML) (PDF)
Explains how to use the accessibility features built into Mac OS X.
Accessibility 2008-03-11
Accessibility Programming Guidelines for Cocoa (HTML) (PDF)
Explains how Cocoa applications make their user interface available to external assistive applications.
Accessibility 2007-02-08
Apple Human Interface Guidelines (HTML) (PDF)
Introduces the Mac OS X user experience and explains how to design an application for Aqua.
Accessibility 2008-06-09
Mac OS X Technology Overview (HTML) (PDF)
Introduces Mac OS X and its technologies.
Accessibility 2008-10-15
Speech (HTML) (PDF)
Explains Cocoa's interfaces to the speech synthesis and speech recognition technologies.
Accessibility 2003-08-08
Address Book Programming Guide for Mac OS X (HTML) (PDF)
Explains how to add, search, remove, and customize Address Book records.
Apple Applications 2006-04-04
Apple Help Programming Guide (HTML) (PDF)
Explains how to author, package, and display user help content in Mac OS X.
Apple Applications 2007-10-31
Automator Programming Guide (HTML) (PDF)
Describes the concepts and tasks for developing actions, which are bundles loaded by the Automator application.
Apple Applications 2007-12-11
Calendar Store Programming Guide (HTML) (PDF)
Explains how to access iCal data.
Apple Applications 2007-10-31
Creating Printing Presets for iPhoto (HTML) (PDF)
Rules for creating and installing printer-specific collections of settings. Includes a sample file.
Apple Applications 2005-07-07
Dashboard Programming Topics (HTML) (PDF)
Explains Dashboard and WebKit technologies used in widgets.
Apple Applications 2009-02-04
Instant Message Programming Guide (HTML) (PDF)
Explains how to access iChat services and buddies and use iChat Theater through code samples.
Apple Applications 2007-10-31
Sync Services Programming Guide (HTML) (PDF)
Explains how to add syncing to your applications.
Apple Applications 2007-10-31
Sync Services Tutorial (HTML) (PDF)
Explains how to debug multiple syncing applications using the Syncrospector development tool.
Apple Applications 2007-07-11
Audio Queue Services Programming Guide (HTML) (PDF)
Describes how to play and record audio using Audio Queue Services.
Audio 2007-10-31
Audio Unit Programming Guide (HTML) (PDF)
Explains how to use Core Audio frameworks and the Core Audio SDK to create audio units.
Audio 2007-10-31
Core Audio Overview (HTML) (PDF)
Provides an overview of Core Audio and its programming interfaces.
Audio 2007-01-08
Sound Programming Topics for Cocoa (HTML) (PDF)
Explains how to load and play audio data in Cocoa.
Audio 2006-11-07
Archives and Serializations Programming Guide for Cocoa (HTML) (PDF)
Explains how to put Cocoa objects into and remove them from a representation suitable for archiving.
Data Management 2009-02-04
Atomic Store Programming Topics (HTML) (PDF)
Describes how to use the Core Data atomic store API to create persistent stores that use a custom format.
Data Management 2008-02-08
Attributed Strings Programming Guide (HTML) (PDF)
Explains how to use attributed strings, which manage attributes of character strings or individual characters.
Data Management 2007-06-04
Binary Data Programming Guide for Cocoa (HTML) (PDF)
Explains how to create and use Cocoa data objects, object-oriented wrappers for byte buffers.
Data Management 2009-05-06
Calendar Store Programming Guide (HTML) (PDF)
Explains how to access iCal data.
Data Management 2007-10-31
Collections Programming Topics for Cocoa (HTML) (PDF)
Explains how to group objects in arrays, sets, or dictionaries in Cocoa.
Data Management 2009-02-04
Core Data Model Versioning and Data Migration Programming Guide (HTML) (PDF)
Explains the managed object model versioning and data migration features of Core Data.
Data Management 2008-02-08
Core Data Programming Guide (HTML) (PDF)
Explains how to manage objects using the Core Data framework.
Data Management 2009-03-04
Core Data Snippets (HTML) (PDF)
Snippets of code that you can use when writing a program that uses Core Data.
Data Management 2009-03-04
Core Data Utility Tutorial (HTML) (PDF)
A hands-on guide to creating a command-line utility using low-level features of Core Data.
Data Management 2009-03-04
Creating a Managed Object Model with Xcode (HTML) (PDF)
A tutorial that shows how to create a Core Data managed object model using Xcode.
Data Management 2007-08-07
Data Formatting Programming Guide for Cocoa (HTML) (PDF)
Explains how to use Cocoa formatters to create and validate text in text fields and other cells.
Data Management 2008-10-15
Dates and Times Programming Topics for Cocoa (HTML) (PDF)
Explains how to manage Cocoa dates and times.
Data Management 2007-09-04
Event-Driven XML Programming Guide for Cocoa (HTML) (PDF)
Explains how to process XML documents using the Cocoa streaming parser.
Data Management 2008-09-09
Key-Value Coding Programming Guide (HTML) (PDF)
Conceptual information about how to access a Cocoa object's values using keys.
Data Management 2009-02-04
Key-Value Observing Programming Guide (HTML) (PDF)
Explains the Cocoa key-value observing protocol.
Data Management 2009-05-06
NSPersistentDocument Core Data Tutorial (HTML) (PDF)
Step-by-step instructions for building a simple but functionally rich application using NSPersistentDocument and Cocoa bindings.
Data Management 2009-02-04
NSPersistentDocument Core Data Tutorial for Mac OS X v10.4. (HTML) (PDF)
Deprecated - Step-by-step instructions for building a simple but functionally rich application using NSPersistentDocument and Cocoa bindings.
Data Management 2009-02-04
Number and Value Programming Topics for Cocoa (HTML) (PDF)
Explains how to use Cocoa object wrappers for primitive C data types.
Data Management 2008-02-08
Predicate Programming Guide (HTML) (PDF)
Describes how to specify queries in Cocoa.
Data Management 2009-05-06
Property List Programming Guide (HTML) (PDF)
Explains how to use structured, textual representations of data in Cocoa.
Data Management 2008-11-19
Search Kit Programming Guide (HTML) (PDF)
Describes Search Kit architecture and workflow, and how to add search capabilities to Carbon and Cocoa applications.
Data Management 2005-12-06
Sort Descriptor Programming Topics (HTML) (PDF)
Explains how to use sort descriptors to specify the sorting of collections.
Data Management 2007-07-10
Stream Programming Guide for Cocoa (HTML) (PDF)
Explains how to use the Cocoa stream classes to read data from and write data to streams.
Data Management 2009-05-06
String Programming Guide for Cocoa (HTML) (PDF)
Explains how to create, search, concatenate, and draw strings in Cocoa.
Data Management 2008-10-15
Tree-Based XML Programming Guide for Cocoa (HTML) (PDF)
Explains how to use the NSXML classes of Cocoa to process, modify, and query XML data.
Data Management 2009-02-04
Undo Architecture (HTML) (PDF)
Explains how to record information in Cocoa so a user can reverse an operation's effect.
Data Management 2002-11-12
User Defaults Programming Topics for Cocoa (HTML) (PDF)
Explains how to use the Cocoa defaults system to create and save user preferences.
Data Management 2007-10-31
Value Transformer Programming Guide (HTML) (PDF)
Explains how to create and use value transformers, which are used with the Controller Layer.
Data Management 2007-04-06
Xcode Tools for Core Data (HTML) (PDF)
Describes the Xcode modeling tools for Core Data.
Data Management 2008-04-15
64-Bit Transition Guide for Cocoa (HTML) (PDF)
Explains how to port Cocoa projects to 64-bit addressing.
Design Guidelines 2009-03-03
Accessibility Programming Guidelines for Cocoa (HTML) (PDF)
Explains how Cocoa applications make their user interface available to external assistive applications.
Design Guidelines 2007-02-08
Apple Human Interface Guidelines (HTML) (PDF)
Introduces the Mac OS X user experience and explains how to design an application for Aqua.
Design Guidelines 2008-06-09
Application Architecture Overview (HTML) (PDF)
Explains the architecture of a Cocoa application and how it interacts with the operating system.
Design Guidelines 2006-08-07
Carbon-Cocoa Integration Guide (HTML) (PDF)
Explains how to use both Carbon and Cocoa in developing an application.
Design Guidelines 2007-10-31
Cocoa Application Tutorial Using Bindings (HTML) (PDF)
A hands-on introduction to Cocoa bindings.
Design Guidelines 2007-07-10
Cocoa Bindings Programming Topics (HTML) (PDF)
Explains how to rapidly develop sophisticated user interfaces using Cocoa binding technology.
Design Guidelines 2009-03-08
Cocoa Fundamentals Guide (HTML) (PDF)
Introduces the basic concepts, terminology, architectures, and design patterns of the Cocoa frameworks and development environment.
Design Guidelines 2008-11-19
Cocoa Scripting Guide (HTML) (PDF)
Explains how to create scriptable Cocoa applications that use the scripting definition (sdef) format.
Design Guidelines 2008-03-11
Coding Guidelines for Cocoa (HTML) (PDF)
Naming guidelines for Cocoa API and design advice to framework developers.
Design Guidelines 2006-04-04
Core Data Programming Guide (HTML) (PDF)
Explains how to manage objects using the Core Data framework.
Design Guidelines 2009-03-04
Core Data Utility Tutorial (HTML) (PDF)
A hands-on guide to creating a command-line utility using low-level features of Core Data.
Design Guidelines 2009-03-04
Document-Based Applications Overview (HTML) (PDF)
Explains how to design and implement Cocoa applications that manage multiple documents.
Design Guidelines 2009-01-12
Error Handling Programming Guide For Cocoa (HTML) (PDF)
Describes NSError objects, related Application Kit support for error handling, and how to use these features in your code.
Design Guidelines 2009-03-04
Garbage Collection Programming Guide (HTML) (PDF)
Describes the garbage collection system for Cocoa.
Design Guidelines 2008-11-19
Key-Value Coding Programming Guide (HTML) (PDF)
Conceptual information about how to access a Cocoa object's values using keys.
Design Guidelines 2009-02-04
Key-Value Observing Programming Guide (HTML) (PDF)
Explains the Cocoa key-value observing protocol.
Design Guidelines 2009-05-06
Memory Management Programming Guide for Cocoa (HTML) (PDF)
Explains how to allocate and deallocate objects in Cocoa.
Design Guidelines 2009-05-06
Model Object Implementation Guide (HTML) (PDF)
Describes issues relating to the design and implementation of model objects
Design Guidelines 2008-02-08
Notification Programming Topics for Cocoa (HTML) (PDF)
Explains how to send and receive information about events in Cocoa programs.
Design Guidelines 2007-05-03
NSPersistentDocument Core Data Tutorial (HTML) (PDF)
Step-by-step instructions for building a simple but functionally rich application using NSPersistentDocument and Cocoa bindings.
Design Guidelines 2009-02-04
NSPersistentDocument Core Data Tutorial for Mac OS X v10.4. (HTML) (PDF)
Deprecated - Step-by-step instructions for building a simple but functionally rich application using NSPersistentDocument and Cocoa bindings.
Design Guidelines 2009-02-04
Object-Oriented Programming with Objective-C (HTML) (PDF)
Describes object-oriented programming from the perspective of an Objective-C developer.
Design Guidelines 2008-11-19
Predicate Programming Guide (HTML) (PDF)
Describes how to specify queries in Cocoa.
Design Guidelines 2009-05-06
Ruby and Python Programming Topics for Mac OS X (HTML) (PDF)
Describes Ruby and Python on Mac OS X, and especially the bridges between them and Objective-C and OSA (AppleScript).
Design Guidelines 2007-10-31
Runtime Configuration Guidelines (HTML) (PDF)
Conceptual and reference information for dynamically configuring your software.
Design Guidelines 2008-07-08
Spotlight Overview (HTML) (PDF)
Introduces the main components and services of Apple's metadata technology.
Design Guidelines 2007-05-27
Undo Architecture (HTML) (PDF)
Explains how to record information in Cocoa so a user can reverse an operation's effect.
Design Guidelines 2002-11-12
User Interface Validation (HTML) (PDF)
Explains how to use the standard mechanism to validate user interface items in Cocoa.
Design Guidelines 2007-07-10
Xcode Design Tools for Class Modeling (HTML) (PDF)
Describes the Xcode Design Tools for Class Modeling.
Design Guidelines 2009-02-04
Xcode Unit Testing Guide (HTML) (PDF)
Explains how to incorporate test cases to validate individual units of source code.
Design Guidelines 2008-05-02
Action Messages (HTML) (PDF)
Explains how Cocoa controls respond to user actions and enable users to communicate to an application.
Events & Other Input 2002-11-12
Cocoa Event-Handling Guide (HTML) (PDF)
Introduces event mechanisms and the types of events in Cocoa and describes how to handle events of each type.
Events & Other Input 2009-02-04
Cursor Management (HTML) (PDF)
Explains how to set the cursor and handle cursor-update events in Cocoa applications.
Events & Other Input 2008-03-11
Drag and Drop Programming Topics for Cocoa (HTML) (PDF)
Explains how to implement drag and drop in Cocoa.
Events & Other Input 2006-06-28
Notification Programming Topics for Cocoa (HTML) (PDF)
Explains how to send and receive information about events in Cocoa programs.
Events & Other Input 2007-05-03
Pasteboard Programming Topics for Cocoa (HTML) (PDF)
Explains how to transfer data using pasteboard operations in Cocoa.
Events & Other Input 2007-07-13
Text Input Management (HTML) (PDF)
Explains how to use input servers, input managers, and text views in Cocoa.
Events & Other Input 2007-02-08
Timer Programming Topics for Cocoa (HTML) (PDF)
Explains how to use timers for scheduling automatic, repeating message invocations in Cocoa.
Events & Other Input 2008-11-19
Application File Management (HTML) (PDF)
Explains how Cocoa applications can use, manipulate, and "own" files.
File Management 2006-11-07
File System Overview (HTML) (PDF)
Conceptual information and guidelines describing the structure and usage of the Mac OS X file system.
File Management 2008-07-11
Low-Level File Management Programming Topics (HTML) (PDF)
Explains the low-level ways Cocoa applications can interact with files.
File Management 2009-03-05
Spotlight Importer Programming Guide (HTML) (PDF)
Describes the role of metadata importers and how to write them.
File Management 2007-05-27
Spotlight Query Programming Guide (HTML) (PDF)
Describes how to add Spotlight searching to your applications.
File Management 2006-03-08
Uniform Type Identifiers Overview (HTML) (PDF)
Describes uniform type identifiers and how to use them.
File Management 2008-04-08
Animation Overview (HTML) (PDF)
Describes the animation facilities provided by Mac OS X.
Games 2008-10-15
Calendar Store Programming Guide (HTML) (PDF)
Explains how to access iCal data.
General 2007-10-31
Instant Message Programming Guide (HTML) (PDF)
Explains how to access iChat services and buddies and use iChat Theater through code samples.
General 2007-10-31
Animation Overview (HTML) (PDF)
Describes the animation facilities provided by Mac OS X.
Graphics & Imaging 2008-10-15
Animation Programming Guide for Cocoa (HTML) (PDF)
Describes how to use Cocoa animation objects to enhance user interface transitions.
Graphics & Imaging 2006-05-23
Animation Types and Timing Programming Guide (HTML) (PDF)
Describes the animation and timing classes used by both Core Animation and Cocoa Animation proxies.
Graphics & Imaging 2008-04-08
Cocoa Drawing Guide (HTML) (PDF)
Explains how to use Cocoa to draw your application's user interface.
Graphics & Imaging 2009-01-06