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

Sort by
Title
Sorted by
Topic
Sort by
Resource Type
Sort by
Date
Using UTIs to Identify Image Files (HTML)
QA1518: Explains how to use Uniform Type Identifiers to identify what files can be opened at images.
Graphics & Imaging Technical Q&As 2007-05-11
VBL (HTML) (DMG) (ZIP)
A simple example of how to create an OpenGLView in AppKit.
Graphics & Imaging Sample Code 2003-07-07
VertexPerformanceDemo (HTML) (DMG) (ZIP)
Vertex optimization demo for WWDC Session 214
Graphics & Imaging Sample Code 2005-06-01
Video Hardware Info (HTML) (DMG) (ZIP)
Sample demonstrates how to query the video hardware for useful information.
Graphics & Imaging Sample Code 2004-02-12
VideoHardwareInfo (HTML) (DMG) (ZIP)
Query VRAM, Quartz Extreme support, OpenGL extensions and renderer, GLSL version and support.
Graphics & Imaging Sample Code 2007-05-14
VideoViewer (HTML) (DMG) (ZIP)
Simple example of video rendering using QuickTime visual contexts, OpenGL, Core Video and Core Image.
Graphics & Imaging Sample Code 2005-08-01
View Programming Guide for Cocoa (HTML) (PDF)
Explains how to design and implement Cocoa views in applications.
Graphics & Imaging Guides 2008-04-10
vImage Reference Collection (HTML) (PDF)
Describes the C programming interface for high-performance image processing.
Graphics & Imaging Reference 2007-07-12
WebKit Objective-C Programming Guide (HTML) (PDF)
Explains how to use the WebKit to embed web content in both Cocoa and Carbon applications.
Graphics & Imaging Guides 2008-10-15
Working Around Incorrect -needsToDrawRect: Behavior in Custom View Classes (HTML)
TN2107: Describes how to work around a bug in NSView's -needsToDrawRect: method.
Graphics & Imaging Technical Notes 2007-01-22
Working with Quartz Composer (HTML)
Learn to build a sample composition without having to write code.
Graphics & Imaging Articles 2006-02-13
Worm (HTML) (DMG) (ZIP)
NSView performance demonstration. Uses a periodic timer to get best performance with Coalesced Update feature.
Graphics & Imaging Sample Code 2005-06-01
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 Articles 2005-08-26
AltiVec/SSE Migration Guide (HTML) (PDF)
Explains how to convert PowerPC AltiVec code to Intel SSE code.
Intel-Based Macs Guides 2005-09-08
Byte-Order Utilities Reference (HTML) (PDF)
Describes Core Foundation byte-order functions.
Intel-Based Macs Reference 2006-05-23
Core Endian Reference (HTML) (PDF)
Describes the C API for creating and installing callbacks to byte swap custom data.
Intel-Based Macs Reference 2007-05-29
GCC Porting Guide (HTML) (PDF)
Provides guidance on how to migrate projects to new GCC releases.
Intel-Based Macs Guides 2006-10-03
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
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 Guides 2009-02-04
Scoping Your Transition Projects (HTML)
Learn how to transition to Intel-based Macs.
Intel-Based Macs Articles 2005-09-27
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 Guides 2009-02-04
ABPresence (HTML) (DMG) (ZIP)
Displays a list of all the people in your Address Book and their iChat status.
Interapplication Communication Sample Code 2006-08-04
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
AESendThreadSafe (HTML) (DMG) (ZIP)
Demonstrates how to send Apple events from threads other than the main thread.
Interapplication Communication Sample Code 2007-03-09
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
BOM characters in 'utxt' clipboard flavor (HTML) (日本語 HTML)
QA1221: Explains the use of the BOM character in 'utxt' scrap data
Interapplication Communication Technical Q&As 2003-01-20
CocoaDragAndDrop (HTML) (DMG) (ZIP)
Implement Drag-and-Drop functionality in Cocoa (uses images; can be extended to support other data types).
Interapplication Communication Sample Code 2003-01-14
Distributed Objects Programming Topics (HTML) (PDF)
Explains how Objective-C objects in different threads or different processes communicate.
Interapplication Communication Guides 2007-06-06
Drag and Drop Programming Topics for Cocoa (HTML) (PDF)
Explains how to implement drag and drop in Cocoa.
Interapplication Communication Guides 2006-06-28
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 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 Technical Q&As 2003-09-15
Interacting with the Operating System (HTML) (PDF)
Explains how Cocoa applications manage tasks and get information about hosts and processes.
Interapplication Communication Guides 2006-04-04
Launch Services Release Notes (HTML)
Interapplication Communication Release Notes 2007-10-31
Moriarity (HTML) (DMG) (ZIP)
Implementing a Cocoa GUI that wraps command-line functionality, calling a UNIX task and presenting the results in a GUI.
Interapplication Communication Sample Code 2003-01-14
MP3 Player (HTML) (DMG) (ZIP)
How to wrap a command-line UNIX/Linux application in a Cocoa GUI, calling a the command-line app through NSTask.
Interapplication Communication Sample Code 2003-01-14
NSConnection Class Reference (HTML) (PDF)
Describes an object that manages communication between objects in different threads.
Interapplication Communication Reference 2008-02-08
NSDistantObject Class Reference (HTML) (PDF)
Describes the proxy for an object in another application or thread.
Interapplication Communication Reference 2007-01-19
NSDistantObjectRequest Class Reference (HTML) (PDF)
Describes an object that handles communication requests from other processes.
Interapplication Communication Reference 2007-01-22
NSDistributedNotificationCenter Class Reference (HTML) (PDF)
Describes an object that synchronously broadcasts notifications to other tasks.
Interapplication Communication Reference 2007-04-01
NSDraggingDestination Protocol Reference (HTML) (PDF)
Describes the interface for objects receiving dragged images.
Interapplication Communication Reference 2007-03-01
NSDraggingInfo Protocol Reference (HTML) (PDF)
Describes the interface for supplying useful information to a dragging destination.
Interapplication Communication Reference 2007-03-01
NSDraggingSource Protocol Reference (HTML) (PDF)
Describes the interface for receiving messages when providing a dragged image.
Interapplication Communication Reference 2007-03-01
NSInvocation Class Reference (HTML) (PDF)
Describes an Objective-C message for use in store-and-forward operations.
Interapplication Communication Reference 2008-10-15
NSInvocationOperation Class Reference (HTML) (PDF)
Describes a nonconcurrent operation for executing a single encapsulated task.
Interapplication Communication Reference 2007-04-12
NSMachBootstrapServer Class Reference (HTML) (PDF)
Describes a local port name server that takes and returns instances of NSMachPort.
Interapplication Communication Reference 2007-01-22
NSMachPort Class Reference (HTML) (PDF)
Describes a port object that wraps a Mac OS X local communication port.
Interapplication Communication Reference 2007-04-30
NSMessagePort Class Reference (HTML) (PDF)
Describes an endpoint for distributed object connections or interprocess messaging.
Interapplication Communication Reference 2006-05-23
NSMessagePortNameServer Class Reference (HTML) (PDF)
Describes a facility that accepts and returns message ports.
Interapplication Communication Reference 2007-02-23
NSNetService Class Reference (HTML) (PDF)
Describes a network service that an application publishes or uses as a client.
Interapplication Communication Reference 2009-04-08
NSNetServiceBrowser Class Reference (HTML) (PDF)
Describes a query for published network services.
Interapplication Communication Reference 2009-04-08
NSNotification Class Reference (HTML) (PDF)
Describes information to be broadcast to other objects through a notification center.
Interapplication Communication Reference 2007-04-02
NSPasteboard Class Reference (HTML) (PDF)
Describes a pasteboard.
Interapplication Communication Reference 2008-10-15
NSPipe Class Reference (HTML) (PDF)
Describes a communications channel between processes.
Interapplication Communication Reference 2007-01-26
NSPort Class Reference (HTML) (PDF)
Describes the interface for implementing communication ports.
Interapplication Communication Reference 2007-07-19
NSPortCoder Class Reference (HTML) (PDF)
Describes a coder that transmits objects, or their proxies, between distributed objects.
Interapplication Communication Reference 2007-01-29
NSPortMessage Class Reference (HTML) (PDF)
Describes the message data sent using distributed objects.
Interapplication Communication Reference 2007-01-29
NSPortNameServer Class Reference (HTML) (PDF)
Describes the port registration object used by distributed objects.
Interapplication Communication Reference 2007-01-29
NSProcessInfo Class Reference (HTML) (PDF)
Describes the current process.
Interapplication Communication Reference 2007-03-26
NSProxy Class Reference (HTML) (PDF)
Describes the interface for object surrogates used in distributed messages and lazy instantiation.
Interapplication Communication Reference 2007-04-06
NSServicesRequests Protocol Reference (HTML) (PDF)
Describes the interface for transferring data to the pasteboard during service requests.
Interapplication Communication Reference 2007-01-30
NSSocketPort Class Reference (HTML) (PDF)
Describes a BSD socket for distributed object connections or raw messaging.
Interapplication Communication Reference 2008-10-15
NSSocketPortNameServer Class Reference (HTML) (PDF)
Describes a registrar of named TCP/IP sockets.
Interapplication Communication Reference 2007-02-26
NSWorkspace Class Reference (HTML) (PDF)
Describes an object that provides Finder services to an application.
Interapplication Communication Reference 2007-04-27
Pasteboard Programming Topics for Cocoa (HTML) (PDF)
Explains how to transfer data using pasteboard operations in Cocoa.
Interapplication Communication Guides 2007-07-13
PasteboardPeeker (HTML) (DMG) (ZIP)
Using pasteboards for Copy and Paste, Drag and Drop, service support and filter services.
Interapplication Communication Sample Code 2005-08-10
Public UTIs supported by Mac OS X v10.3 (HTML)
QA1406: Lists the public UTIs (Uniform Type Identifiers) used by the Pasteboard in Mac OS X v10.3.
Interapplication Communication Technical Q&As 2005-02-08
Re-enabling dragging from NSTableView to other applications (HTML) (日本語 HTML)
QA1220: Explains how to re-enable drag-and-drop from NSTableViews to other applications
Interapplication Communication Technical Q&As 2008-02-08
SBApplication Class Reference (HTML) (PDF)
Describes an Objective-C representation of a scriptable application.
Interapplication Communication Reference 2007-05-29
SBApplicationDelegate Protocol Reference (HTML) (PDF)
Describes the interface for receiving and handling Apple event errors from applications.
Interapplication Communication Reference 2007-05-29
SBElementArray Class Reference (HTML) (PDF)
Describes a mutable array for storing related Scripting Bridge objects.
Interapplication Communication Reference 2007-05-29
SBObject Class Reference (HTML) (PDF)
Describes an object in a scriptable application.
Interapplication Communication Reference 2007-05-29
SBSendEmail (HTML) (DMG) (ZIP)
Using the Scripting Bridge to tell Mail.app to send an email message with an optional attachment.
Interapplication Communication Sample Code 2008-02-28
SBSystemPrefs (HTML) (DMG) (ZIP)
Shows how to use Scripting Bridge to display a preference pane in System Preferences.
Interapplication Communication Sample Code 2008-10-13
Scripting Bridge Framework Reference (HTML) (PDF)
Describes the interface that allows Cocoa applications to communicate with scriptable applications.
Interapplication Communication Reference 2007-05-29
ScriptingBridgeiCal (HTML) (DMG) (ZIP)
Adding/updating events in iCal using Scripting Bridge.
Interapplication Communication Sample Code 2007-12-13
Sending an Email (HTML)
QA1084: Shows how to create an email in the user's prefered email application.
Interapplication Communication Technical Q&As 2004-11-05
SimpleThreads (HTML) (DMG) (ZIP)
Uses the Cocoa threading APIs to coordinate multiple preemptively scheduled secondary threads with the non-reentrant Cocoa framework.
Interapplication Communication Sample Code 2003-01-14
Simplifying Data Handling with Uniform Type Identifiers (HTML)
Learn to use UTIs to take advantage of key Mac OS X technologies in your application.
Interapplication Communication Articles 2005-07-12
System Services (HTML) (PDF)
Explains how Cocoa applications can extend their capabilities seamlessly to other applications.
Interapplication Communication Guides 2002-11-12
TrivialThreads (HTML) (DMG) (ZIP)
Uses the Cocoa threading APIs to coordinate a preemptively scheduled secondary thread with the non-reentrant Cocoa framework.
Interapplication Communication Sample Code 2003-01-14
Uniform Type Identifiers Overview (HTML) (PDF)
Describes uniform type identifiers and how to use them.
Interapplication Communication Guides 2008-04-08
Using the .Mac SDK (HTML)
Learn how the .Mac SDK can enhance your application with powerful web-integration features.
Interapplication Communication Articles 2005-01-25
Workspace Services Programming Topics (HTML) (PDF)
Explains how to use the services the workspace class provides to Cocoa applications.
Interapplication Communication Guides 2007-03-06
XML-RPC and SOAP Programming Guide (HTML) (PDF)
Explains how to make remote procedure calls from applications or from AppleScript scripts.
Interapplication Communication Guides 2005-03-03
Converting to Precomposed Unicode (HTML) (日本語 HTML)
QA1235: Describes how to convert a string to precomposed Unicode.
Internationalization Technical Q&As 2003-02-07
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
IMKCandidates Class Reference (HTML) (PDF)
Describes the class that supports the use of candidate windows for an input method.
Internationalization Reference 2007-06-05
IMKInputController Class Reference (HTML) (PDF)
Describes the class that controls input on the input method side.
Internationalization Reference 2007-06-06
IMKMouseHandling Protocol Reference (HTML) (PDF)
Describes the protocol used to receive mouse events for an input method client session.
Internationalization Reference 2007-06-05
IMKServer Class Reference (HTML) (PDF)
Describes the class that manages connections to input method clients.
Internationalization Reference 2007-06-06
IMKServerInput Protocol Reference (HTML) (PDF)
Describes the informal protocol used to receive text events.
Internationalization Reference 2009-05-06
IMKStateSetting Protocol Reference (HTML) (PDF)
Describes the protocol used to set or access state values for an input method client session.
Internationalization Reference 2007-06-05
IMKTextInput Protocol Reference (HTML) (PDF)
Describes the protocol used to send and obtain data from an input method client session.
Internationalization Reference 2007-06-05
Input Method Kit Framework Reference (HTML) (PDF)
Describes the API for building input methods for Chinese, Japanese, and other languages.
Internationalization Reference 2007-06-06
Input Method Kit Reference Update (HTML) (PDF)
Summarizes the symbols added to the Input Method Kit framework.
Internationalization Release Notes 2007-07-18
Input Method Kit Release Note (HTML)
Describes an Objective-C framework for building input methods for Chinese, Japanese, and other languages.
Internationalization Release Notes 2007-07-17
Internationalization Programming Topics (HTML) (PDF)
Explains how to support multiple languages in software.
Internationalization Guides 2009-01-06
Mountains (HTML) (DMG) (ZIP)
Demonstrates localization and internationalization techniques and APIs
Internationalization Sample Code 2008-06-02
NSBundle Class Reference (HTML) (PDF)
Describes a collection of resources used in a program.
Internationalization Reference 2007-07-19
NSCalendar Class Reference (HTML) (PDF)
Describes a calendar.
Internationalization Reference 2009-02-04