Jump To:
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
Sort by
Topic
Sorted by
Date
Runtime Configuration Guidelines (HTML) (PDF)
Conceptual and reference information for dynamically configuring your software.
Design Guidelines 2007-04-18
Dashboard Programming Topics (HTML) (PDF)
Explains Dashboard and Web Kit technologies used in widgets.
Apple Applications 2007-04-13
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
Mac OS X ABI Function Call Guide (HTML) (PDF)
Describes the function-calling conventions used in the architectures supported by Mac OS X.
Intel-Based Macs 2007-04-04
64-Bit Transition Guide for Cocoa (HTML) (PDF)
Explains how to port Cocoa projects to 64-bit addressing.
Design Guidelines 2007-03-22
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 2007-03-20
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 2007-03-16
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 2007-03-06
Workspace Services Programming Topics (HTML) (PDF)
Explains how to use the services the workspace class provides to Cocoa applications.
Interapplication Communication 2007-03-06
Universal Binary Programming Guidelines, Second Edition (HTML) (PDF)
Conceptual information and tips for writing code that runs on PowerPC-based and Intel-based Macintosh computers.
Intel-Based Macs, Porting 2007-02-26
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
Text Input Management (HTML) (PDF)
Explains how to use input servers, input managers, and text views in Cocoa.
Events & Other Input, Text & Fonts 2007-02-08
Core Audio Overview (HTML) (PDF)
Provides an overview of Core Audio and its programming interfaces.
Audio 2007-01-08
Keychain Services Programming Guide (HTML) (PDF)
This document explains how to use Keychain Services to store and retrieve passwords.
Security 2007-01-08
Toolbar Programming Topics for Cocoa (HTML) (PDF)
Explains how to use Cocoa toolbars.
User Experience 2007-01-08
Event-Driven XML Programming Guide for Cocoa (HTML) (PDF)
Explains how to process XML documents using the Cocoa streaming parser.
Data Management 2006-12-05
Text Attachment Programming Topics for Cocoa (HTML) (PDF)
Expalins how to add graphics and other attachments to text.
Text & Fonts 2006-12-05
Web Kit Plug-In Programming Topics (HTML) (PDF)
Explains how to develop and deploy browser plug-ins based on the Web Kit architecture.
Internet & Web 2006-12-05
Application File Management (HTML) (PDF)
Explains how Cocoa applications can use, manipulate, and "own" files.
File Management 2006-11-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.
Intel-Based Macs, Tools 2006-11-07
Matrix Programming Guide for Cocoa (HTML) (PDF)
Explains how to use Cocoa matrices.
User Experience 2006-11-07
Property List Programming Guide for Cocoa (HTML) (PDF)
Explains how to use structured, textual representations of data in Cocoa.
Data Management 2006-11-07
Sound Programming Topics for Cocoa (HTML) (PDF)
Explains how to load and play audio data in Cocoa.
Audio 2006-11-07
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, Internet & Web 2006-11-07
Control and Cell Programming Topics for Cocoa (HTML) (PDF)
Explains the relationship between Cocoa control and cell objects.
User Experience 2006-10-16
Color Programming Topics for Cocoa (HTML) (PDF)
Explains how applications specify colors and how users choose colors in Cocoa.
Graphics & Imaging 2006-10-03
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 2006-10-03
GCC Porting Guide (HTML) (PDF)
Provides guidance on how to migrate projects to new GCC releases.
Intel-Based Macs 2006-10-03
Performance Overview (HTML) (PDF)
Introduces the factors that determine performance.
Performance 2006-10-03
Predicate Programming Guide (HTML) (PDF)
Describes how to specify queries in Cocoa.
Data Management, Design Guidelines 2006-10-03
Preference Panes (HTML) (PDF)
Explains how to create dynamically loaded plug-ins that provide a graphical interface to user preferences.
User Experience 2006-10-03
Slider Programming Topics for Cocoa (HTML) (PDF)
Explains how to use Cocoa sliders.
User Experience 2006-10-03
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, Networking 2006-10-03
Window Programming Guide for Cocoa (HTML) (PDF)
Explains how to use Cocoa windows and panels.
User Experience 2006-10-03
Sheet Programming Topics for Cocoa (HTML) (PDF)
Explains how to use Cocoa sheets.
User Experience 2006-09-05
Speech Synthesis Programming Guide (HTML) (PDF)
Describes speech synthesis in Mac OS X and explains how your application can produce customized spoken output.
User Experience 2006-09-05
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
Software Delivery Guide (HTML) (PDF)
Explains how to distribute and install Mac OS X software using PackageMaker and Installer.
Tools, User Experience 2006-07-24
Code Size Performance Guidelines (HTML) (PDF)
Guidelines for reducing the size of an application binary.
Performance 2006-06-28
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
Key-Value Observing Programming Guide (HTML) (PDF)
Explains the Cocoa key-value observing protocol.
Data Management, Design Guidelines 2006-06-28
Memory Usage Performance Guidelines (HTML) (PDF)
Guidelines for improving the performance of memory-related code.
Performance 2006-06-28
Online Help (HTML) (PDF)
Explains how to add help to a Cocoa application.
User Experience 2006-06-28
Outline View Programming Topics for Cocoa (HTML) (PDF)
Explains how to use Cocoa outline views.
User Experience 2006-06-28
Printing Programming Topics for Cocoa (HTML) (PDF)
Explains how to support printing in Cocoa applications.
Graphics & Imaging, Printing 2006-06-28
Scroll View Programming Guide for Cocoa (HTML) (PDF)
Describes how to use scroll views in Cocoa applications.
Graphics & Imaging, User Experience 2006-06-28
Text System User Interface Layer Programming Guide for Cocoa (HTML) (PDF)
Explains how to implement the main, high-level interface to the Cocoa text system.
Text & Fonts, User Experience 2006-06-28
Animation Programming Guide for Cocoa (HTML) (PDF)
Describes how to use Cocoa animation objects to enhance user interface transitions.
Graphics & Imaging 2006-05-23
Secure Coding Guide (HTML) (PDF)
Describes techniques to use and factors to consider to make your code more secure from attack.
Security 2006-05-23
Web Kit Objective-C Programming Guide (HTML) (PDF)
Explains how to use the Web Kit to embed web content in both Cocoa and Carbon applications.
Graphics & Imaging, Internet & Web, User Experience 2006-05-23
Address Book Programming Guide (HTML) (PDF)
Explains how to add, search, remove, and customize Address Book records.
Apple Applications 2006-04-04
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
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
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
Drawing Performance Guidelines (HTML) (PDF)
Guidelines for improving the speed of drawing code.
Performance 2006-04-04
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
Launch Time Performance Guidelines (HTML) (PDF)
Guidelines for improving the launch performance of an application.
Performance 2006-04-04
Table View Programming Guide (HTML) (PDF)
Explains how to use Cocoa table views.
User Experience 2006-04-04
Spotlight Query Programming Guide (HTML) (PDF)
Describes how to add Spotlight searching to your applications.
File Management 2006-03-08
Mac OS X Printing System Overview (HTML) (PDF)
Introduces Apple's printing architecture. Includes a road map for developing software.
Printing 2006-02-07
Segmented Controls Programming Guide for Cocoa (HTML) (PDF)
Explains how to use Cocoa segmented controls.
User Experience 2006-02-07
Dashboard Tutorial (HTML) (PDF)
Explains how to develop a Dashboard widget.
Apple Applications 2006-01-10
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, Text & Fonts, User Experience 2005-12-06
Bundle Programming Guide (HTML) (PDF)
Explains how to use Core Foundation bundle objects to organize resources.
Resource Management 2005-11-09
NSNetServices and CFNetServices Programming Guide (HTML) (PDF)
Describes how to implement Bonjour in Cocoa or Carbon applications.
Networking 2005-11-09
QuickTime Kit Programming Guide (HTML) (PDF)
Provides a tutorial on how to build and extend a QTKitPlayer application using the QuickTime Kit framework in Cocoa.
QuickTime 2005-11-09
AltiVec/SSE Migration Guide (HTML) (PDF)
Explains how to convert PowerPC AltiVec code to Intel SSE code.
Intel-Based Macs 2005-09-08
Internationalization Programming Topics (HTML) (PDF)
Explains how to support multiple languages in software.
Internationalization 2005-09-08
Cocoa Performance Guidelines (HTML) (PDF)
Guidelines for improving the performance of Cocoa applications.
Performance 2005-08-11
QuickTime Overview (HTML) (PDF)
Introduces the main concepts and services of QuickTime.
QuickTime 2005-08-11
Text System Storage Layer Overview (HTML) (PDF)
Explains how the Cocoa text system stores the information it needs to lay out text.
Text & Fonts 2005-08-11
Web Services Core Programming Guide (HTML) (PDF)
Explains how to use the new Web Services client-side frameworks available in Mac OS X.
Internet & Web, Networking 2005-08-11
Code Speed Performance Guidelines (HTML) (PDF)
Guidelines for improving the performance and efficiency of code.
Performance 2005-07-07
Color Management Overview (HTML) (PDF)
Introduces basic concepts and defines color spaces.
Graphics & Imaging 2005-07-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
File-System Performance Guidelines (HTML) (PDF)
Guidelines for improving the performance of file-related code.
Performance 2005-07-07
Using PostScript Printer Description Files (HTML) (PDF)
Information for printer vendors. Includes installing files, PPD/PDE binding, and grouping features.
Printing 2005-07-07
XML-RPC and SOAP Programming Guide (HTML) (PDF)
Explains how to make remote procedure calls from applications or from AppleScript scripts.
Interapplication Communication, Internet & Web, Scripting & Automation 2005-03-03
Run Loops (HTML) (PDF)
Explains how Cocoa run loops process input.
Events & Other Input, Process Management 2005-01-11
Browsers (HTML) (PDF)
Explains how to use Cocoa browsers.
User Experience 2004-08-31
Font Panel (HTML) (PDF)
Explains how to use the Cocoa Font panel.
Text & Fonts, User Experience 2004-08-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 2004-06-28
Text Attributes (HTML) (PDF)
Explains how to work with attributes, the distinguishing characteristics of rich text.
Text & Fonts 2004-02-16
Text Input and Output (HTML) (PDF)
Explains how to read and write text files in Cocoa.
Text & Fonts 2004-02-10
Spell Checking (HTML) (PDF)
Explains how to use the spell-checking facilities in the Cocoa text system.
Text & Fonts, User Experience 2004-02-09
Text Fields (HTML) (PDF)
Explains how to use Cocoa text fields.
Text & Fonts, User Experience 2004-02-09
Text Views (HTML) (PDF)
Explains how to use Cocoa text views.
Text & Fonts, User Experience 2004-02-09
Performing Privileged Operations With Authorization Services (HTML) (PDF)
Explains how to add fine-grained control of privileged operations in an application.
Security 2004-02-01
Tab Views (HTML) (PDF)
Explains how to use Cocoa tab views.
User Experience 2003-11-06
Speech (HTML) (PDF)
Explains Cocoa's interfaces to the speech synthesis and speech recognition technologies.
Accessibility, User Experience 2003-08-08
Dialogs and Special Panels (HTML) (PDF)
Explains how to create alert panels. Includes links to documents about other types of panels.
User Experience 2003-08-01
Boxes (HTML) (PDF)
Explains how to use Cocoa boxes.
User Experience 2003-02-15
Drawers (HTML) (PDF)
Explains how to use Cocoa drawers.
User Experience 2003-02-04
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
Combo Boxes (HTML) (PDF)
Explains how to use Cocoa combo boxes.
User Experience 2002-11-12
Debugging Cocoa Applications (HTML) (PDF)
Tips and techniques for debugging Cocoa applications.
Performance 2002-11-12
Forms (HTML) (PDF)
Explains how to use Cocoa forms.
User Experience 2002-11-12
Image Views (HTML) (PDF)
Explains how to use Cocoa image views.
Graphics & Imaging, User Experience 2002-11-12
Progress Indicators (HTML) (PDF)
Explains how to use Cocoa progress indicators.
User Experience 2002-11-12
Status Bars (HTML) (PDF)
Explains how to use Cocoa status bars.
User Experience 2002-11-12
Steppers (HTML) (PDF)
Explains how to use Cocoa steppers.
User Experience 2002-11-12
System Services (HTML) (PDF)
Explains how Cocoa applications can extend their capabilities seamlessly to other applications.
Interapplication Communication, User Experience 2002-11-12
Timers (HTML) (PDF)
Explains how to use timers for scheduling automatic, repeating message invocations in Cocoa.
Events & Other Input 2002-11-12
Undo Architecture (HTML) (PDF)
Explains how to record information in Cocoa so a user can reverse an operation's effect.
Data Management, Design Guidelines, User Experience 2002-11-12
Video (HTML) (PDF)
Explains how to use QuickTime movies in Cocoa.
QuickTime 2002-11-12