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
Disc Recording UI Framework Reference (HTML)
Describes the Objective-C and C API for presenting a user interface when burning audio and data CDs and DVDs.
Audio, File Management, User Experience Reference 2008-04-08
Discovering all advertised Bonjour service types (HTML)
QA1337: Explains how to discover all Bonjour service types being advertised on the local network.
Networking Technical Q&As 2004-06-01
DiscRecording Release Notes (HTML)
Updated for Mac OS X v10.5
File Management, User Experience Release Notes 2007-10-31
Distributed Objects Programming Topics (HTML) (PDF)
Explains how Objective-C objects in different threads or different processes communicate.
Interapplication Communication, Networking, Objective-C Language Guides 2007-06-06
Dock Tile Programming Guide (HTML) (PDF)
Explains how to provide an icon and contextual menu in Carbon applications.
User Experience Guides 2009-03-04
DockTile (HTML) (DMG) (ZIP)
Demonstrates how to customize your application's icon in the Dock by using the NSDockTile class.
User Experience Sample Code 2007-09-11
Document-Based Applications Overview (HTML) (PDF)
Explains how to design and implement Cocoa applications that manage multiple documents.
Design Guidelines Guides 2009-01-12
DOMDocument Additions Reference (HTML) (PDF)
Describes the API added to the DOMDocument class to facilitate communication between WebKit and the DOM API.
User Experience Reference 2008-10-15
DOMElement Additions Reference (HTML)
Describes the API added to the DOMElement class to facilitate communication between WebKit and the DOM API.
User Experience Reference 2008-10-15
DOMHTMLDocument Additions Reference (HTML) (PDF)
Describes the API added to the DOMHTMLDocument class to facilitate communication between WebKit and the DOM API.
User Experience Reference 2009-01-26
DOMHTMLFrameElement Additions Reference (HTML) (PDF)
Describes the API added to the DOMHTMLFrameElement class to facilitate communication between WebKit and the DOM API.
User Experience Reference 2006-05-23
DOMHTMLIFrameElement Additions Reference (HTML) (PDF)
Describes the API added to the DOMHTMLIFrameElement class to facilitate communication between WebKit and the DOM API.
User Experience Reference 2006-05-23
DOMHTMLObjectElement Additions Reference (HTML) (PDF)
Describes the API added to the DOMHTMLObjectElement class to facilitate communication between WebKit and the DOM API.
User Experience Reference 2006-05-23
DOMNode Additions Reference (HTML) (PDF)
Describes the API added to the DOMNode class to facilitate communication between WebKit and the DOM API.
User Experience Reference 2009-02-04
DOMRange Additions Reference (HTML) (PDF)
Describes the API added to the DOMRange class to facilitate communication between WebKit and the DOM API.
User Experience Reference 2008-10-15
Don't forget to cancel your Bonjour resolve (HTML)
QA1297: Explains why it's important to cancel a Bonjour resolve operation.
Networking Technical Q&As 2007-08-30
Downloading through a proxy server in Mac OS X (HTML)
QA1296: Explains when downloading through a proxy server will work, and when it will fail.
Networking Technical Q&As 2003-10-29
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 Guides 2006-06-28
DragItemAround (HTML) (DMG) (ZIP)
Illustrates creating a custom subclass of NSView.
Graphics & Imaging Sample Code 2006-03-16
Drawers (HTML) (PDF)
Explains how to use Cocoa drawers.
User Experience Guides 2003-02-04
Drawing a Path Multiple Times (HTML)
QA1047: Explains that path drawing operations consume the path.
Graphics & Imaging, Printing Technical Q&As 2001-07-02
Drawing attributed strings that are both filled and stroked (HTML)
QA1531: Describes how the value of NSStrokeWidthAttributeName indicates fill, stroke, or both, in attributed strings.
Text & Fonts Technical Q&As 2008-03-25
Drawing Performance Guidelines (HTML) (PDF)
Guidelines for improving the speed of drawing code.
Performance Guides 2006-04-04
Driving OpenGL Rendering Loops (HTML)
QA1385: Using Core Video display links (CVDisplayLink) or Cocoa timers (NSTimer) to drive an OpenGL rendering loop
Events & Other Input, Games, Graphics & Imaging Technical Q&As 2009-05-01
DynamicProperties (HTML) (DMG) (ZIP)
Demonstrates dynamically resolved properties, using a new Objective C 2.0 feature: dynamically resolved methods.
Objective-C Language Sample Code 2006-08-01
Embedding Hyperlinks in NSTextField and NSTextView (HTML)
QA1487: Shows how a Cocoa app can embed a hyperlink inside both NSTextField and NSTextView using NSAttributedString.
Text & Fonts, User Experience Technical Q&As 2006-10-02
Enabling the application menu's "Preferences" menu item on Mac OS X (HTML)
QA1552: Describes the two things you need to implement to enable the "Preferences" menu item on Mac OS X.
User Experience Technical Q&As 2008-01-21
The Enhanced Print Apple Event (HTML)
TN2082: Describes an enhancement to the print Apple event that gives developers more control over scripted printing.
Printing Technical Notes 2003-12-09
EnhancedAudioBurn (HTML) (DMG) (ZIP)
This Objective-C sample demonstrates how to burn RedBook Audio CDs.
File Management Sample Code 2005-07-06
EnhancedDataBurn (HTML) (DMG) (ZIP)
Objective-C sample which shows how to burn a data disc containing a complete virtual filesystem.
File Management Sample Code 2003-01-14
Ensuring Backwards Binary Compatibility - Weak Linking and Availability Macros on Mac OS X (HTML) (日本語 HTML)
TN2064: Ensuring that Mach-O applications built using today's Mac OS X runs on previous versions of the OS.
Design Guidelines, Runtime Architecture Technical Notes 2003-02-18
Environment Variables (HTML)
QA1255: Describes how a process gets its environment variables.
Runtime Architecture Technical Q&As 2003-10-29
Eraser (HTML) (DMG) (ZIP)
Uses the DiscRecordingUI framework to present the standard erase, selection and progress dialogs.
File Management Sample Code 2003-01-14
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 Guides 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 Guides 2008-09-09
Exception Handling Framework Reference (HTML) (PDF)
Describes the API used to monitor and debug exceptional conditions in Objective-C code.
Objective-C Language Reference 2006-10-03
Exception Programming Topics for Cocoa (HTML) (PDF)
Explains how to raise and handle exceptions in Cocoa applications.
Objective-C Language, Performance Guides 2007-10-02
Exclusive File Access in Mac OS X (HTML) (日本語 HTML)
TN2037: Covers exclusive file access In Mac OS X
File Management Technical Notes 2002-05-01
Expanding Tilde-based paths (HTML)
QA1549: Demonstrates how to resolve tilde-based relevant paths.
File Management Technical Q&As 2008-09-08
ExtractMovieAudioToAIFF (HTML) (DMG) (ZIP)
Demonstrates how to extract audio from QuickTime Movies and write the data to an AIFF file.
Audio, QuickTime Sample Code 2006-03-31
FancyAbout (HTML) (DMG) (ZIP)
Demonstrates several visual effects for "About..." panels such as scrolling text, window without a title bar, and ways to dismiss the window.
Graphics & Imaging, User Experience Sample Code 2003-10-27
Fiendishthngs (HTML) (DMG) (ZIP)
Fiendishthngs lists all the the Components it finds on the system and lets you query them for information.
QuickTime Sample Code 2007-09-13
File Manager Performance and Caching (HTML)
FL16: Discusses traditional Mac OS file system input/output performance issues and the File Manager's volume cache.
File Management Technical Notes 2000-09-01
File System Overview (HTML) (PDF)
Conceptual information and guidelines describing the structure and usage of the Mac OS X file system.
File Management Guides 2008-07-11
File Wrappers with Core Data Documents (HTML) (DMG) (ZIP)
This sample demonstrates how directory file wrappers can be used with NSPersistentDocument.
Data Management, File Management Sample Code 2009-04-29
File-System Performance Guidelines (HTML) (PDF)
Guidelines for improving the performance of file-related code.
Performance Guides 2005-07-07
FileNotification (HTML) (DMG) (ZIP)
kqueue file notification introduced in 10.3. Notification API to detect file system modifications.
File Management Sample Code 2005-10-27
filesystem_examples (HTML) (DMG) (ZIP)
Collection of command line tools illustrating filesystem features.
File Management Sample Code 2006-01-10
Find By Content Reference (HTML) (PDF)
Deprecated - Describes the legacy C API for performing relevance-ranked searches. Replaced by Search Kit.
Data Management, Text & Fonts, User Experience Reference 2006-07-13
Finding an NSView's current magnification. (HTML)
QA1346: How to discover the current magnification (zoom level) of any NSView.
Graphics & Imaging, User Experience Technical Q&As 2005-03-08
Finding EXC_BAD_ACCESS bugs in a Cocoa project (HTML)
QA1367: Discusses how to find memory protection violations or EXC_BAD_ACCESS bugs in Cocoa projects.
Resource Management Technical Q&As 2006-10-10
Font Handling (HTML) (PDF)
Explains the Cocoa font management system and how users select fonts.
Text & Fonts Guides 2008-02-08
Font Panel (HTML) (PDF)
Explains how to use the Cocoa Font panel.
Text & Fonts, User Experience Guides 2004-08-31
Forms (HTML) (PDF)
Explains how to use Cocoa forms.
User Experience Guides 2002-11-12
Foundation Constants Reference (HTML) (PDF)
Describes constants in the Foundation framework.
Data Management, Objective-C Language Reference 2009-05-06
Foundation Data Types Reference (HTML) (PDF)
Describes the common data types in the Foundation framework.
Data Management, Objective-C Language Reference 2008-09-09
Foundation Framework Reference (HTML) (PDF)
Describes the Foundation framework API.
General, Objective-C Language Reference 2008-06-27
Foundation Functions Reference (HTML) (PDF)
Describes Foundation framework functions.
Data Management Reference 2008-10-15
Foundation Reference Update (HTML) (PDF)
Summarizes the symbols added to the Foundation framework.
General Release Notes 2007-07-18
Foundation Release Notes (HTML)
Describes new features, notes, and known issues for the Foundation framework in Mac OS X v10.5.
Design Guidelines, Scripting & Automation Release Notes 2007-10-31
Foundation Release Notes (10.4 and earlier) (HTML)
Release notes for older versions of Mac OS X.
General Release Notes 2009-01-06
Frequently Asked Text Services Manager (TSM) Questions (HTML)
TN2128: Regroups a collection of Text Services Manager (TSM) questions frequently asked by Input Method Developers
Events & Other Input, Text & Fonts Technical Notes 2005-06-24
FSCopyObject (HTML) (DMG) (ZIP)
Copy engine for copying files and directories.
File Management Sample Code 2004-03-19
FSMegaInfo (HTML) (DMG) (ZIP)
Prints information about various file system objects; helpful when debugging VFS plug-ins.
File Management Sample Code 2008-02-25
FSSetCatalogInfo versus UID and GID (HTML) (日本語 HTML)
QA1251: Describes why FSSetCatalogInfo does not set the UID and GID of the file, and provides a work around.
File Management Technical Q&As 2003-03-26
FunkyOverlayWindow (HTML) (DMG) (ZIP)
Demonstrates several window layering, transparency and widget interaction techniques in Cocoa.
Events & Other Input, Graphics & Imaging, User Experience Sample Code 2003-05-08
Garbage Collection Programming Guide (HTML) (PDF)
Describes the garbage collection system for Cocoa.
Design Guidelines, Objective-C Language, Performance, Runtime Architecture Guides 2008-11-19
Garbage Collection Release Notes (HTML)
Describes features, issues, and workarounds related to Mac OS X v10.5 and its support of garbage collection.
Objective-C Language Release Notes 2007-10-31
Gathering all PostScript Printer Descriptions (PPDs) (HTML)
QA1529: Describes a work around for an issue in PMCopyAvailablePPDs on Mac OS X 10.4 and below
Printing Technical Q&As 2008-08-08
GCC Porting Guide (HTML) (PDF)
Provides guidance on how to migrate projects to new GCC releases.
Intel-Based Macs Guides 2006-10-03
GeekGameBoard (HTML) (DMG) (ZIP)
Shows how to use Core Animation for the user interface of a board or card game.
Games, Graphics & Imaging Sample Code 2007-12-19
GetMACAddressSample (HTML) (DMG) (ZIP)
Demonstrates how to retrieve the MAC address for each Ethernet interface from the Mac OS X I/O Registry.
Networking, Security Sample Code 2003-01-14
GetPrimaryMACAddress (HTML) (DMG) (ZIP)
Demonstrates retrieving the MAC address of the built-in Ethernet controller. Useful for uniquely identifying a Macintosh system.
Networking, Security Sample Code 2005-10-27
Getting a Packet Trace (HTML) (日本語 HTML)
QA1176: Lists tools available for looking at the network packets on the wire.
Internet & Web, Networking Technical Q&As 2008-06-03
Getting images in and out from Quartz Composer compositions (HTML)
TN2143: Describes how to efficiently pass images into and out of Quartz Composer
Graphics & Imaging Technical Notes 2005-10-04
Getting NSWindow's toolbar actions to show up in Interface Builder (HTML)
QA1030: How to add the missing -toggleToolbarShown: and -runToolbarCustomizationPalette actions to Interface Builder.
Tools, User Experience Technical Q&As 2001-05-03
Getting the pixel data from a CGImage object (HTML)
QA1509: Describes how to access the pixel data of a CGImage object
Games, Graphics & Imaging Technical Q&As 2008-08-27
GLChildWindowDemo (HTML) (DMG) (ZIP)
Shows using Cocoa's child windows and Quartz Extreme to provide 2D/3D overlays above 3D content.
Graphics & Imaging Sample Code 2003-04-21
GLSLShowpiece (HTML) (DMG) (ZIP)
GLSLShowpiece demonstrates several Vertex and Fragment shaders
Games, Graphics & Imaging Sample Code 2006-07-17
GNU C/C++/Objective-C 4.0.1 Compiler User Guide (HTML)
Describes the Apple version of the GNU 4.0.1 compiler.
Intel-Based Macs Reference 2007-10-31
Going Universal: Audio Developers Catch the Wave (HTML)
Learn how audio developers who built universal binaries of their applications are reaping the benefits.
Audio, Porting Articles 2006-07-18
Grady (HTML) (DMG) (ZIP)
Demonstrates how to use the NSGradient class.
Graphics & Imaging, User Experience Sample Code 2007-02-28
Graphics Exporters - Creating 16-bit-per-channel image files (HTML)
QA1354: Discusses how to use QuickTime Graphics Exporters to create 16-bit-per-channel image files.
QuickTime Technical Q&As 2004-06-03
GridCalendar (HTML) (DMG) (ZIP)
Demonstrates how to add a custom job submission UI to the GridSample project.
Networking Sample Code 2005-06-01
Guide to Creating Kiosks on Mac OS X (HTML) (日本語 HTML)
TN2062: Discusses techniques used in creating applications which require kiosk-like functionality on Mac OS X.
User Experience Technical Notes 2003-02-24
Help Book Caching During Software Development (HTML)
QA1409: Development situations that can potentially confuse Help Viewer
Tools Technical Q&As 2005-03-30
HFS Plus Volume Format (HTML) (日本語 HTML)
TN1150: Describes the physical layout of an HFS Plus volume.
File Management Technical Notes 2004-03-05
How can I determine the order of the languages set by the user in the Language tab of the International preference pane? (HTML)
QA1391: Retrieving the order of the languages set by the International preference pane in Cocoa, Carbon, and Terminal.
Internationalization Technical Q&As 2006-12-19
How can I optimize a Quartz Composer composition depending on the hardware it runs on? (HTML)
QA1433: Explains how to design compositions that adapt to the hardware limitations.
Graphics & Imaging Technical Q&As 2005-06-01
How can I programmatically determine the DPI of the current video mode? (HTML) (日本語 HTML)
QA1217: Describes how to compute the DPI for a given display in a given mode using Core Graphics.
Games, Graphics & Imaging Technical Q&As 2002-12-02
How do I determine how much VRAM is available on my video card? (HTML)
QA1168: Using Core Graphics and IOKit to find the physical size of VRAM on installed hardware.
Graphics & Imaging Technical Q&As 2004-10-11
How do I get the hexadecimal value of an NSColor object? (HTML)
QA1576: Describes how to convert an NSColor object to its Hexadecimal value.
Graphics & Imaging, Objective-C Language Technical Q&As 2007-12-19
How do I tell if a particular display is being hardware accelerated by Quartz Extreme? (HTML) (日本語 HTML)
QA1218: Describes how to use CGDisplayUsesOpenGLAcceleration to see if a display is accelerated or not.
Games, Graphics & Imaging, Performance Technical Q&As 2002-12-04
How to add other pasteboard types to an HFS Promise drag in Cocoa (HTML)
QA1300: Explains how to add other pasteboard types to an HFS Promise drag in Cocoa.
Interapplication Communication Technical Q&As 2003-09-15
How to create a Cocoa Disclosure Button Control (HTML)
QA1485: Explains how to create a disclosure button control in Cocoa, not immediately available in Interface Builder.
User Experience Technical Q&As 2006-08-01
How to get custom views to show up in NSToolbarItems (HTML)
QA1029: Why custom views may not show up in an NSToolBarItem and how to make it visible.
User Experience Technical Q&As 2001-05-03
How to make NSTextField accept tab, return and enter keys. (HTML)
QA1454: Describes how to make the NSTextField control accept tab, return and enter keys by using the control's dispatch delegate method.
Text & Fonts, User Experience Technical Q&As 2006-10-09
How to measure CG text (HTML)
QA1051: Explains how to measure Core Graphics text.
Graphics & Imaging, Printing Technical Q&As 2007-08-02
How to remove the "Open Recent" menu item in a Document-based Cocoa application (HTML)
QA1289: Explains how to remove the "Open Recent" menu item in a Document-based Cocoa application.
User Experience Technical Q&As 2003-09-15
How to set a custom drag image when doing an HFS Promise drag in Cocoa (HTML)
QA1200: Explains how to set a custom drag image when doing an HFS Promise drag in Cocoa.
Interapplication Communication, User Experience Technical Q&As 2003-09-15