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

Sorted by
Title
Sort by
Topic
Sort by
Date
64-Bit Transition Guide for Cocoa (HTML) (PDF)
Explains how to port Cocoa projects to 64-bit addressing.
Design Guidelines 2009-03-03
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, Design Guidelines, User Experience 2007-02-08
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
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
AltiVec/SSE Migration Guide (HTML) (PDF)
Explains how to convert PowerPC AltiVec code to Intel SSE code.
Intel-Based Macs 2005-09-08
Animation Overview (HTML) (PDF)
Describes the animation facilities provided by Mac OS X.
Games, 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
Apple Help Programming Guide (HTML) (PDF)
Explains how to author, package, and display user help content in Mac OS X.
Apple Applications, User Experience 2007-10-31
Apple Human Interface Guidelines (HTML) (PDF)
Introduces the Mac OS X user experience and explains how to design an application for Aqua.
Accessibility, Design Guidelines, User Experience 2008-06-09
AppleScript Language Guide (HTML) (PDF)
Defines the AppleScript scripting language. Includes many brief sample scripts.
Scripting & Automation 2008-03-11
AppleScript Overview (HTML) (PDF)
Introduces the technology for writing scripts to control applications. Useful for scripters and application developers.
Scripting & Automation 2007-10-31
AppleScript Studio Programming Guide (HTML) (PDF)
Explains how to create script-driven applications with complex user interfaces based on Cocoa UI classes. Includes tutorials.
Tools 2006-04-04
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
Application File Management (HTML) (PDF)
Explains how Cocoa applications can use, manipulate, and "own" files.
File Management 2006-11-07
Application Menu and Pop-up List Programming Topics for Cocoa (HTML) (PDF)
Explains how Cocoa menus and lists work and how to manipulate items within them.
User Experience 2007-06-26
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
Assertions and Logging (HTML) (PDF)
Explains how to use assertions and logging to diagnose problems in Cocoa applications.
Objective-C Language, Performance 2006-04-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, Text & Fonts 2007-06-04
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
Authorization Services Programming Guide (HTML) (PDF)
Explains how to add fine-grained control of privileged operations in an application.
Security 2009-01-06
Automator Programming Guide (HTML) (PDF)
Describes the concepts and tasks for developing actions, which are bundles loaded by the Automator application.
Apple Applications, Tools 2007-12-11
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
Boxes (HTML) (PDF)
Explains how to use Cocoa boxes.
User Experience 2003-02-15
Browsers (HTML) (PDF)
Explains how to use Cocoa browsers.
User Experience 2004-08-31
Bundle Programming Guide (HTML) (PDF)
Explains how to use Core Foundation bundle objects to organize resources.
Resource Management 2005-11-09
Button Programming Topics for Cocoa (HTML) (PDF)
Explains how to use Cocoa buttons.
User Experience 2008-10-15
Calendar Store Programming Guide (HTML) (PDF)
Explains how to access iCal data.
Apple Applications, Data Management, General 2007-10-31
Carbon-Cocoa Integration Guide (HTML) (PDF)
Explains how to use both Carbon and Cocoa in developing an application.
Design Guidelines 2007-10-31
Certificate, Key, and Trust Services Programming Guide (HTML) (PDF)
Shows how to evaluate trust for a certificate and recover from a trust failure.
Security 2008-11-19
CFNetwork Programming Guide (HTML) (PDF)
Explains how to use Core Foundation networking functions to work with low-level BSD sockets.
Networking, Security 2009-05-06
Cocoa Application Tutorial (HTML) (PDF)
Describes how to build a simple Cocoa application using Xcode.
Objective-C Language 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, User Experience 2009-03-08
Cocoa Drawing Guide (HTML) (PDF)
Explains how to use Cocoa to draw your application's user interface.
Graphics & Imaging 2009-01-06
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
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 Performance Guidelines (HTML) (PDF)
Guidelines for improving the performance of Cocoa applications.
Performance 2005-08-11
Cocoa Scripting Guide (HTML) (PDF)
Explains how to create scriptable Cocoa applications that use the scripting definition (sdef) format.
Design Guidelines, Scripting & Automation 2008-03-11
Code Loading Programming Topics for Cocoa (HTML) (PDF)
Explains how Cocoa applications can dynamically load code during execution.
Resource Management 2007-08-10
Code Signing Guide (HTML) (PDF)
Explains how you can sign your code and why you should.
Security 2008-11-19
Code Size Performance Guidelines (HTML) (PDF)
Guidelines for reducing the size of an application binary.
Performance 2006-06-28
Code Speed Performance Guidelines (HTML) (PDF)
Guidelines for improving the performance and efficiency of code.
Performance 2005-07-07
Coding Guidelines for Cocoa (HTML) (PDF)
Naming guidelines for Cocoa API and design advice to framework developers.
Design Guidelines, Objective-C Language 2006-04-04
Collections Programming Topics for Cocoa (HTML) (PDF)
Explains how to group objects in arrays, sets, or dictionaries in Cocoa.
Data Management 2009-02-04
Color Management Overview (HTML) (PDF)
Introduces basic concepts and defines color spaces.
Graphics & Imaging 2005-07-07
Color Programming Topics for Cocoa (HTML) (PDF)
Explains how applications specify colors and how users choose colors in Cocoa.
Graphics & Imaging 2009-03-04
Combo Box Programming Topics (HTML) (PDF)
Explains how to use Cocoa combo boxes.
User Experience 2002-11-12
Control and Cell Programming Topics for Cocoa (HTML) (PDF)
Explains the relationship between Cocoa control and cell objects.
User Experience 2008-10-15
Core Animation Cookbook (HTML) (PDF)
Demonstrates common Core Animation tasks.
Graphics & Imaging 2008-03-11
Core Animation Programming Guide (HTML) (PDF)
Introduces the main components and services of Core Animation.
Graphics & Imaging 2008-11-13
Core Audio Overview (HTML) (PDF)
Provides an overview of Core Audio and its programming interfaces.
Audio 2007-01-08
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, Design Guidelines 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, Design Guidelines 2009-03-04
Core Image Programming Guide (HTML) (PDF)
Provides an overview and explains how to use and create image filters and image units.
Graphics & Imaging 2008-06-09
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
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
Cross-Development Programming Guide (HTML) (PDF)
Explains how to build software for versions of Mac OS X other than the one the development tools are running on.
Tools 2006-11-07
Cursor Management (HTML) (PDF)
Explains how to set the cursor and handle cursor-update events in Cocoa applications.
Events & Other Input, User Experience 2008-03-11
Dashboard Programming Topics (HTML) (PDF)
Explains Dashboard and WebKit technologies used in widgets.
Apple Applications 2009-02-04
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
Debugging Cocoa Applications (HTML) (PDF)
Tips and techniques for debugging Cocoa applications.
Performance 2002-11-12
Debugging with GDB (HTML)
Open-source document that explains how to use GDB to debug programs.
Tools 2008-06-19
Dialogs and Special Panels (HTML) (PDF)
Explains how to create alert panels. Includes links to documents about other types of panels.
User Experience 2009-02-04
Dictionary Services Programming Guide (HTML) (PDF)
Explains how to create a dictionary and access it programmatically.
Text & Fonts 2007-05-30
Distributed Objects Programming Topics (HTML) (PDF)
Explains how Objective-C objects in different threads or different processes communicate.
Interapplication Communication, Networking, Objective-C Language 2007-06-06
Dock Tile Programming Guide (HTML) (PDF)
Explains how to provide an icon and contextual menu in Carbon applications.
User Experience 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
Drag and Drop Programming Topics for Cocoa (HTML) (PDF)
Explains how to implement drag and drop in Cocoa.
Events & Other Input, Interapplication Communication, User Experience 2006-06-28
Drawers (HTML) (PDF)
Explains how to use Cocoa drawers.
User Experience 2003-02-04
Drawing Performance Guidelines (HTML) (PDF)
Guidelines for improving the speed of drawing code.
Performance 2006-04-04
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, Objective-C Language 2009-03-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
Exception Programming Topics for Cocoa (HTML) (PDF)
Explains how to raise and handle exceptions in Cocoa applications.
Objective-C Language, Performance 2007-10-02
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
File-System Performance Guidelines (HTML) (PDF)
Guidelines for improving the performance of file-related code.
Performance 2005-07-07
Font Handling (HTML) (PDF)
Explains the Cocoa font management system and how users select fonts.
Text & Fonts 2008-02-08
Font Panel (HTML) (PDF)
Explains how to use the Cocoa Font panel.
Text & Fonts, User Experience 2004-08-31
Forms (HTML) (PDF)
Explains how to use Cocoa forms.
User Experience 2002-11-12
Garbage Collection Programming Guide (HTML) (PDF)
Describes the garbage collection system for Cocoa.
Design Guidelines, Objective-C Language, Performance, Runtime Architecture 2008-11-19
GCC Porting Guide (HTML) (PDF)
Provides guidance on how to migrate projects to new GCC releases.
Intel-Based Macs 2006-10-03
Image Capture Applications Programming Guide (HTML) (PDF)
Describes the interaction between applications programs and image capture devices such as cameras and scanners.
Graphics & Imaging 2007-05-16
Image I/O Programming Guide (HTML) (PDF)
Explains how to read and write image data using the Image I/O framework.
Graphics & Imaging 2007-07-02
Image Kit Programming Guide (HTML) (PDF)
Explains how to support browsing, viewing, editing, and processing images.
Graphics & Imaging 2008-06-09
Image Unit Tutorial (HTML) (PDF)
Describes how to write image processing kernels and package them for distribution.
Graphics & Imaging 2009-05-06
Image Views (HTML) (PDF)
Explains how to use Cocoa image views.
Graphics & Imaging, User Experience 2002-11-12
Instant Message Programming Guide (HTML) (PDF)
Explains how to access iChat services and buddies and use iChat Theater through code samples.
Apple Applications, General, Internet & Web 2007-10-31
Interacting with the Operating System (HTML) (PDF)
Explains how Cocoa applications manage tasks and get information about hosts and processes.
Interapplication Communication, Process Management, Resource Management 2006-04-04
Interface Builder Plug-In Programming Guide (HTML) (PDF)
Describes the process for creating custom Interface Builder palettes.
Tools 2007-07-18
Interface Builder User Guide (HTML) (PDF)
Conceptual information and tasks explaining how to use the Interface Builder application to design user interfaces.
Tools 2008-11-19
Internationalization Programming Topics (HTML) (PDF)
Explains how to support multiple languages in software.
Internationalization 2009-01-06
Key-Value Coding Programming Guide (HTML) (PDF)
Conceptual information about how to access a Cocoa object's values using keys.
Data Management, Design Guidelines 2009-02-04
Key-Value Observing Programming Guide (HTML) (PDF)
Explains the Cocoa key-value observing protocol.
Data Management, Design Guidelines 2009-05-06
Keychain Services Programming Guide (HTML) (PDF)
This document explains how to use Keychain Services to store and retrieve passwords.
Security 2009-03-12