Jump To:
Leopard Reference Library
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
Resource Type
Sort by
Date
2D Graphics Release Notes for Mac OS X v10.5 (HTML)
Describes the changes and issues related to Core Image and Quartz 2D in Mac OS X v10.5.
Graphics & Imaging Release Notes 2008-04-08
64-Bit Transition Guide for Cocoa (HTML) (PDF)
Explains how to port Cocoa projects to 64-bit addressing.
Design Guidelines Guides 2009-03-03
ABActionDelegate Protocol Objective-C Reference (HTML) (PDF)
Describes the informal protocol for populating the rollover menus of Address Book with custom items.
Apple Applications Reference 2006-05-23
ABAddressBook Class Objective-C Reference (HTML) (PDF)
Provides a programming interface to the Address Book.
Apple Applications Reference 2007-07-07
ABGroup Class Objective-C Reference (HTML) (PDF)
Describes how this class supports the concept of a "group" containing one or more persons.
Apple Applications Reference 2007-07-07
ABIdentityPicker Class Objective-C Reference (HTML) (PDF)
Describes the identity picker, a dialog or sheet used to select groups and people for Identity Services.
Apple Applications Reference 2006-08-23
ABImageClient Protocol Objective-C Reference (HTML) (PDF)
Describes how to handle images loaded from an asynchronous fetch from ABPerson objects.
Apple Applications Reference 2006-05-23
ABMultiValue Class Objective-C Reference (HTML) (PDF)
Describes how to use these classes to represent properties that might have multiple values.
Apple Applications Reference 2007-07-08
ABPeoplePickerView Class Objective-C Reference (HTML) (PDF)
Describes how to customize the behavior of people-picker views in an application's user interface.
Apple Applications Reference 2006-05-23
ABPerson Class Reference (HTML) (PDF)
Describes how to encapsulate all information about a person in the Address Book database.
Apple Applications Reference 2007-07-07
ABPresence (HTML) (DMG) (ZIP)
Displays a list of all the people in your Address Book and their iChat status.
Apple Applications, Interapplication Communication Sample Code 2006-08-04
ABSearchElement Class Objective-C Reference (HTML) (PDF)
Describes how to specify a search query for records in the Address Book database.
Apple Applications Reference 2006-05-23
AbstractTree (HTML) (DMG) (ZIP)
Using NSTreeController with NSOutlineView, Bindings, and Core Data.
Data Management, User Experience Sample Code 2008-03-17
Accessibility Overview (HTML) (PDF)
Explains how to use the accessibility features built into Mac OS X.
Accessibility Guides 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 Guides 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 Guides 2002-11-12
Adding and removing a submenu from a menu in Cocoa (HTML)
QA1420: Explains how to dynamically add and remove menus in a Cocoa application.
User Experience Technical Q&As 2007-09-10
Address Book Constants Reference (HTML) (PDF)
Describes the constants found in the Address Book framework.
Apple Applications Reference 2006-07-26
Address Book Data Types Reference (HTML) (PDF)
Describes the data types and constants found in the Address Book framework.
Apple Applications Reference 2006-07-26
Address Book Objective-C Framework Reference (HTML) (PDF)
Describes the Cocoa API for supporting and working with Address Book.
Apple Applications, General Reference 2007-07-08
Address Book Programming Guide for Mac OS X (HTML) (PDF)
Explains how to add, search, remove, and customize Address Book records.
Apple Applications Guides 2006-04-04
AddressBook Functions Reference (HTML) (PDF)
Describes the functions and function-like macros found in the Address Book framework.
Apple Applications Reference 2006-05-23
AddressBookCocoa (HTML) (DMG) (ZIP)
Demonstrates some basic manipulations of the Mac OS X 10.2.x (and beyond) Address Book API.
Interapplication Communication Sample Code 2003-01-14
Adopting Universal Binaries on Mac OS X (HTML)
Learn about universal binaries and how to get your applications ready for Intel-based Macs.
Intel-Based Macs, Porting Articles 2005-08-26
AESendThreadSafe (HTML) (DMG) (ZIP)
Demonstrates how to send Apple events from threads other than the main thread.
Interapplication Communication Sample Code 2007-03-09
AlbumToSlideshow (HTML) (DMG) (ZIP)
Demonstrates using CF and NSXML to create Final Cut Pro XML.
Objective-C Language Sample Code 2008-05-15
Allocate and Disk Full Error (HTML) (日本語 HTML)
FL12: Discusses a problem with AFP volumes displaying incorrect free space, and returning disk full errors.
Networking Technical Q&As 1999-07-21
AltiVec/SSE Migration Guide (HTML) (PDF)
Explains how to convert PowerPC AltiVec code to Intel SSE code.
Intel-Based Macs Guides 2005-09-08
AMAction Class Reference (HTML) (PDF)
Describes the abstract class that defines the interface and general characteristics of Automator actions.
Apple Applications Reference 2007-03-01
AMAppleScriptAction Class Reference (HTML) (PDF)
Describes the class used to support Automator actions that are driven by AppleScript scripts.
Apple Applications Reference 2006-10-26
AMBundleAction Class Reference (HTML) (PDF)
Describes the class used to support Automator actions that are loadable bundles.
Apple Applications Reference 2006-10-26
AMShellScriptAction Class Reference (HTML) (PDF)
Describes the class used to support Automator actions driven by a shell script or by a Perl or Python script.
Apple Applications Reference 2006-10-26
AMWorkflow Class Reference (HTML) (PDF)
Describes the class used to represent an Automator workflow within an application.
Apple Applications Reference 2006-10-26
AMWorkflowController Class Reference (HTML) (PDF)
Describes the class used to control an Automator workflow in an application.
Apple Applications Reference 2007-07-09
AMWorkflowView Class Reference (HTML) (PDF)
Apple Applications Reference 2006-11-09
AnimatedSlider (HTML) (DMG) (ZIP)
Demonstrates the use of an NSTimer to animate a control in Cocoa.
User Experience Sample Code 2003-01-14
Animating the frame of a CALayer. (HTML)
QA1620: Explains how the frame property of a layer interacts with animations.
Graphics & Imaging Technical Q&As 2008-10-24
Animation Overview (HTML) (PDF)
Describes the animation facilities provided by Mac OS X.
Games, Graphics & Imaging Guides 2008-10-15
Animation Programming Guide for Cocoa (HTML) (PDF)
Describes how to use Cocoa animation objects to enhance user interface transitions.
Graphics & Imaging Guides 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 Guides 2008-04-08
Apple Applications Schema Reference (HTML) (PDF)
Describes the schemas used by Apple Applications to sync records such as contacts, calendars, and bookmarks.
Apple Applications, Data Management, Internet & Web, Syncing Reference 2007-10-31
Apple Help Programming Guide (HTML) (PDF)
Explains how to author, package, and display user help content in Mac OS X.
Apple Applications, User Experience Guides 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 Guides 2008-06-09
AppleScript Language Guide (HTML) (PDF)
Defines the AppleScript scripting language. Includes many brief sample scripts.
Scripting & Automation Guides 2008-03-11
AppleScript Overview (HTML) (PDF)
Introduces the technology for writing scripts to control applications. Useful for scripters and application developers.
Scripting & Automation Guides 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 Guides 2006-04-04
AppleScript Studio Release Notes (HTML)
Describes late-breaking news and highlights of new or changed features in the latest release of AppleScript Studio.
Tools Release Notes 2007-10-31
AppleScript Studio Terminology Reference (HTML) (PDF)
Describes the scripting terminology for AppleScript Studio, through version 1.4.
Scripting & Automation, Tools Reference 2007-10-31
Application Architecture Overview (HTML) (PDF)
Explains the architecture of a Cocoa application and how it interacts with the operating system.
Design Guidelines Guides 2006-08-07
Application File Management (HTML) (PDF)
Explains how Cocoa applications can use, manipulate, and "own" files.
File Management Guides 2006-11-07
Application Kit Constants Reference (HTML) (PDF)
Describes the constants defined in the Application Kit framework not described in individual classes.
Objective-C Language Reference 2007-10-31
Application Kit Data Types Reference (HTML) (PDF)
Describes the data types defined in the Application Kit framework not described in individual classes.
Objective-C Language Reference 2006-05-23
Application Kit Framework Reference (HTML) (PDF)
Describes the interface for all things related to an application's user interface.
General, Objective-C Language, User Experience Reference 2008-11-19
Application Kit Functions Reference (HTML) (PDF)
Describes the functions that support the Application Kit framework.
Objective-C Language Reference 2008-11-19
Application Kit Reference Update (HTML) (PDF)
Summarizes the symbols added to the Application Kit framework.
General Release Notes 2007-07-18
Application Kit Release Notes (10.4 and Earlier) (HTML)
Design Guidelines Release Notes 2006-07-17
Application Kit Release Notes (10.5) (HTML)
New document that describes new features, notes, and known issues for the Application Kit Framework on Mac OS X v10.5.
Design Guidelines Release Notes 2007-10-31
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 Guides 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 Guides 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 Guides 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 Guides 2008-02-08
AttachAScript (HTML) (DMG) (ZIP)
Illustrates how you can extend any Cocoa application by adding some AppleScripts to it.
Interapplication Communication Sample Code 2006-07-27
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 Guides 2007-06-04
Audio Codec Services Reference (HTML) (PDF)
Describes the programming interface for configuring audio codecs and for encoding and decoding audio data.
Audio Reference 2007-10-31
Audio File Services Reference (HTML) (PDF)
Describes a C programming interface for reading and writing audio files.
Audio Reference 2008-07-08
Audio Queue Services Programming Guide (HTML) (PDF)
Describes how to play and record audio using Audio Queue Services.
Audio Guides 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 Guides 2007-10-31
AudioBurn (HTML) (DMG) (ZIP)
Demonstrates how to create an object conforming to the DRTrackProduction protocol to create a RedBook audio CD.
File Management Sample Code 2005-03-17
AudioDeviceNotify (HTML) (DMG) (ZIP)
Demonstrates how to enumerate audio devices attached to the system and how to handle device notifications
Audio Sample Code 2006-04-21
Authorization Services Programming Guide (HTML) (PDF)
Explains how to add fine-grained control of privileged operations in an application.
Security Guides 2009-01-06
Automator Constants Reference (HTML) (PDF)
Describes the constants defined in the Automator framework not described in individual classes.
Apple Applications Reference 2007-05-10
Automator Framework Reference (HTML) (PDF)
Describes the Objective-C API for creating and working with actions used by the Automator application.
Apple Applications, Scripting & Automation Reference 2006-10-26
Automator Programming Guide (HTML) (PDF)
Describes the concepts and tasks for developing actions, which are bundles loaded by the Automator application.
Apple Applications, Tools Guides 2007-12-11
Automator Reference Update (HTML) (PDF)
Summarizes the symbols added to the Automtor framework.
Apple Applications, Scripting & Automation Release Notes 2007-07-25
Automator Release Notes (HTML)
Updated for changes in Mac OS X version 10.5.
Apple Applications, Tools Release Notes 2007-10-31
AutoSample (HTML) (DMG) (ZIP)
How to run and display Automator workflows in your application.
Scripting & Automation Sample Code 2007-05-23
AutoUpdater (HTML) (DMG) (ZIP)
This sample demonstrates Cocoa networking using the NSURL loading classes, NSURLConnection and NSURLDownload.
Networking Sample Code 2005-06-01
Availability of Quartz Composer Patches in Web Kit (HTML)
QA1505: Details which Quartz Composer patches are available in Web Kit
Internet & Web Technical Q&As 2007-03-05
Avoiding the -42 error with DiscRecording (HTML)
QA1292: Explains how to workaround the -42 error when using the DiscRecording API.
File Management Technical Q&As 2004-05-25
Background-only apps with NSStatusItems become active in 10.1 on NSStatusItem clicks (HTML)
QA1081: Preventing background-only apps from activating when their NSStatusItem(s) are clicked in Mac OS X 10.1.
Events & Other Input, User Experience Technical Q&As 2001-10-30
BackgroundExporter (HTML) (DMG) (ZIP)
Demonstrates techniques which can be used to export QuickTime movies in a separate export process.
QuickTime Sample Code 2005-07-22
BasicCocoaAnimations (HTML) (DMG) (ZIP)
"BasicCocoaAnimations" demonstrates the use of the animator proxy to easily animate Cocoa views and windows.
Graphics & Imaging, User Experience Sample Code 2007-06-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 Guides 2009-05-06
Binding your Preferences in Cocoa (HTML)
Learn to use bindings by creating a simple app.
Design Guidelines, User Experience Articles 2004-04-26
BindingsJoystick (HTML) (DMG) (ZIP)
Illustrates a bindings-enabled subclass of NSView.
Data Management, Design Guidelines, Events & Other Input Sample Code 2005-06-01
BoingX (HTML) (DMG) (ZIP)
Shows off using Quartz Extreme to provide borderless OpenGL content on the desktop.
Games, Graphics & Imaging Sample Code 2007-11-06
Boinx Starts with Sample Code: FotoMagico Is a Powerful Digital Slideshow (HTML)
Starting with Apple sample code, tools and technologies, Boinx wrote FotoMagico in a matter of months.
General, Graphics & Imaging Articles 2007-12-11
BOM characters in 'utxt' clipboard flavor (HTML) (日本語 HTML)
QA1221: Explains the use of the BOM character in 'utxt' scrap data
Data Management, Interapplication Communication Technical Q&As 2003-01-20
Bonjour and wake from sleep (HTML)
QA1290: Explains why applications that use Bonjour should stay registered and continue browsing on sleep.
Networking Technical Q&As 2003-09-18
Bonjour enforces the service type format in Panther (HTML)
QA1198: Explains why registering a Bonjour service might fail on Panther.
Networking Technical Q&As 2004-03-23
Bonjour enforces the TXT record format in Panther (HTML)
QA1306: Explains how mDNSResponder enforces the proper TXT record format in Panther.
Networking Technical Q&As 2004-07-14
Bonjour Printer Subtype for HTTP (HTML)
QA1555: Describes how printer vendors can register their bonjour service such that Safari can see them.
Networking Technical Q&As 2008-03-25
Bonjour TXT record rate limiting in Panther (HTML)
QA1293: Explains how mDNSResponder implements TXT record rate limiting in Panther.
Networking Technical Q&As 2003-10-23
Bound Button (HTML) (DMG) (ZIP)
Illustrates using Cocoa bindings to bind a button's target and action parameters.
Data Management Sample Code 2007-06-08
Boxes (HTML) (PDF)
Explains how to use Cocoa boxes.
User Experience Guides 2003-02-15
Browsers (HTML) (PDF)
Explains how to use Cocoa browsers.
User Experience Guides 2004-08-31
Building Objective-C static libraries with categories (HTML)
QA1490: Describes how to properly build Objective-C static libraries that contain categories on existing classes.
Objective-C Language Technical Q&As 2006-10-03
Bundle Programming Guide (HTML) (PDF)
Explains how to use Core Foundation bundle objects to organize resources.
Resource Management Guides 2005-11-09
BundleLoader (HTML) (DMG) (ZIP)
Demonstrates how to load multiple Cocoa bundles or NSBundles (also known as plug-ins) into the main NSApplication.
Design Guidelines, Resource Management, Runtime Architecture, User Experience Sample Code 2007-09-21
Button Programming Topics for Cocoa (HTML) (PDF)
Explains how to use Cocoa buttons.
User Experience Guides 2008-10-15