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
TrackBall (HTML) (DMG) (ZIP)
Demonstrates how to build a custom control based on the NSControl class.
Accessibility, Design Guidelines, Events & Other Input, User Experience Sample Code 2007-06-07
TrackFormatDemo (HTML) (DMG) (ZIP)
Shows how to get a human-readable, localized description of a track's format.
QuickTime Sample Code 2006-08-01
TrackIt (HTML) (DMG) (ZIP)
Demonstrates how to use the NSTrackingArea class.
User Experience Sample Code 2007-03-05
Transformed Image (HTML) (DMG) (ZIP)
Shows the effects of a rendering an NSImage in a transformed coordinate space.
Graphics & Imaging Sample Code 2003-01-14
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 Guides 2009-02-04
TremoloUnit (HTML) (DMG) (ZIP)
Audio unit sample demonstrating how to build an effect unit with a generic view.
Audio Sample Code 2006-10-26
TrivialThreads (HTML) (DMG) (ZIP)
Uses the Cocoa threading APIs to coordinate a preemptively scheduled secondary thread with the non-reentrant Cocoa framework.
Interapplication Communication, Performance, Process Management, Runtime Architecture Sample Code 2003-01-14
Turn up the Volume with Audio Units (HTML)
Learn to build a sample volume unit, test it, and integrate it into GarageBand.
Audio Articles 2005-01-31
Turning Off Core Graphics Clipping (HTML)
QA1050: Explains how to clear the clipping path for a CGContext.
Graphics & Imaging, Printing Technical Q&As 2001-07-02
TwoManyControllers (HTML) (DMG) (ZIP)
How to use an intermediate NSArrayController to populate an NSTableView across two to-many relationships.
Data Management, Design Guidelines, User Experience Sample Code 2007-02-23
UIElementInspector (HTML) (DMG) (ZIP)
Demonstrates using the Accessibility API introduced in Mac OS X 10.2, which allows manipulation of an application's UI.
Accessibility Sample Code 2007-02-19
Understanding and Detecting OpenGL Functionality (HTML)
TN2080: Discusses OpenGL API design, and how to access the full power of hardware and software renderers.
Graphics & Imaging Technical Notes 2003-12-29
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 Guides 2002-11-12
Unexpected CG state changes (HTML)
QA1045: Explains why the Core Graphics drawing state sometimes changes for no apparent reason.
Graphics & Imaging, Printing Technical Q&As 2001-07-02
Uniform Type Identifiers Overview (HTML) (PDF)
Describes uniform type identifiers and how to use them.
File Management, Interapplication Communication Guides 2008-04-08
Universal Access: Computers That Everyone Can Use (HTML)
Learn how to make your applications usable by everyone, including those with disabilities.
Accessibility Articles 2004-08-02
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 Guides 2009-02-04
UnsharpMask (HTML) (DMG) (ZIP)
Demonstrates how to build Automator actions using Cocoa frameworks.
Apple Applications, Graphics & Imaging Sample Code 2005-06-06
Updating the TXT record of a Bonjour service (HTML)
QA1302: Explains how to update a Bonjour TXT record while running on either Jaguar or Panther.
Networking Technical Q&As 2004-07-14
URL CacheInfo (HTML) (DMG) (ZIP)
Demonstrates resource caching behavior using the Cocoa URL loading system.
Networking, Performance Sample Code 2008-06-05
URL Loading System (HTML) (PDF)
Explains how to manipulate URLs and transfer URL contents.
Internet & Web, Networking Guides 2008-05-06
Use the Computer Name when registering your Bonjour service (HTML)
QA1228: Explains why you should use the Computer Name when advertising a Bonjour service.
Networking Technical Q&As 2004-03-05
User Defaults Programming Topics for Cocoa (HTML) (PDF)
Explains how to use the Cocoa defaults system to create and save user preferences.
Data Management, User Experience Guides 2007-10-31
User Interface Validation (HTML) (PDF)
Explains how to use the standard mechanism to validate user interface items in Cocoa.
Design Guidelines, User Experience Guides 2007-07-10
Using AppleScript Scripts in Cocoa Applications (HTML)
TN2084: Explains how to work with AppleScript scripts in your Cocoa application.
Scripting & Automation, User Experience Technical Notes 2006-09-19
Using collection classes safely with multithreaded applications (HTML) (日本語 HTML)
TN2059: Describes some problems with and workarounds for using mutable collection classes in multithreaded applications.
Process Management Technical Notes 2002-09-10
Using Interface Builder's NSOpenGLView or Custom View objects for an OpenGL application (HTML)
QA1167: Describes usage cases for both NSOpenGLViews and Custom Views for Cocoa OpenGL applications
Graphics & Imaging Technical Q&As 2004-10-28
Using NSSound with CoreAudio on Mac OS 10.3.x (HTML)
QA1394: Workaround the NULL input buffers in a Core Audio IOProc callback when using NSSound by using AudioDeviceAddIOProc
Audio Technical Q&As 2006-03-29
Using PostScript Printer Description Files (HTML) (PDF)
Information for printer vendors. Includes installing files, PPD/PDE binding, and grouping features.
Printing Guides 2005-07-07
Using PyObjC for Developing Cocoa Applications with Python (HTML)
Learn how to build a sample Cocoa app using the Cocoa-Python bridge PyOjbC.
Scripting & Automation, Tools Articles 2005-08-15
Using QTPixelBufferContextCreate with NewMovieFromProperties (HTML)
QA1443: Discusses using a QuickTime pixel buffer visual context and NewMovieFromProperties to output frames to pixel buffers.
QuickTime Technical Q&As 2008-08-08
Using Secure Event Input Fairly (HTML)
TN2150: Describes the proper use of EnableSecureEventInput.
Events & Other Input, Security Technical Notes 2007-06-08
Using the .Mac SDK (HTML)
Learn how the .Mac SDK can enhance your application with powerful web-integration features.
Interapplication Communication, Internet & Web Articles 2005-01-25
Using the QTKit Framework (HTML)
Learn how the QuickTime Kit works and how to use it in your application.
QuickTime Articles 2006-06-19
Using the Web Kit for Application Registration (HTML)
Learn how to use the Web Kit to handle your application's online registration.
User Experience Articles 2004-03-09
Using the Web Services Core Framework and CFNetwork to Access Remote SOAP Services (HTML)
Learn how to access remote SOAP-based web services that require HTTP Basic or Digest authentication.
Internet & Web, Networking Articles 2007-03-07
Using UTIs to Identify Image Files (HTML)
QA1518: Explains how to use Uniform Type Identifiers to identify what files can be opened at images.
File Management, Graphics & Imaging Technical Q&As 2007-05-11
Value Transformer Programming Guide (HTML) (PDF)
Explains how to create and use value transformers, which are used with the Controller Layer.
Data Management Guides 2007-04-06
Variable arguments in Objective-C methods (HTML)
QA1405: How to implement methods which take a variable number of arguments.
Objective-C Language Technical Q&As 2005-01-13
VBL (HTML) (DMG) (ZIP)
A simple example of how to create an OpenGLView in AppKit.
Graphics & Imaging Sample Code 2003-07-07
Verification (HTML) (DMG) (ZIP)
Objective-C example which demonstrates how to provide custom data verification for data written to disc.
File Management Sample Code 2004-01-23
VertexPerformanceDemo (HTML) (DMG) (ZIP)
Vertex optimization demo for WWDC Session 214
Games, Graphics & Imaging Sample Code 2005-06-01
Video (HTML) (PDF)
Explains how to use QuickTime movies in Cocoa.
QuickTime Guides 2002-11-12
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.
Games, 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, QuickTime 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
ViewController (HTML) (DMG) (ZIP)
Demonstrates how to use "NSViewController".
Printing, Resource Management, User Experience Sample Code 2007-06-11
vImage Reference Collection (HTML) (PDF)
Describes the C programming interface for high-performance image processing.
Graphics & Imaging Reference 2007-07-12
Watcher (HTML) (DMG) (ZIP)
Uses FSEvents to monitor a directory hierarchy to keep track of its total size
File Management Sample Code 2006-08-04
Weak Linking To Spotlight (HTML)
QA1422: Describes a problem with weak linking to Spotlight (the Metadata framework), and its solution.
File Management Technical Q&As 2005-06-03
Web Services Core Framework Reference (HTML)
Describes the client-side APIs for accessing web services.
Internet & Web Reference 2009-01-06
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 Guides 2009-01-06
WebArchive Class Reference (HTML) (PDF)
Describes the class for archiving a web page and all of its related resources.
User Experience Reference 2009-04-08
WebBackForwardList Class Reference (HTML) (PDF)
Describes the class for tracking a list of visited pages with relation to the most recent page.
User Experience Reference 2009-02-04
WebDataSource Class Reference (HTML) (PDF)
Describes the class for encapsulating web content for display in a web frame view.
User Experience Reference 2008-10-15
WebDocumentRepresentation Protocol Reference (HTML) (PDF)
Describes the protocol adopted by document representation classes that handle specific MIME types.
User Experience Reference 2006-05-23
WebDocumentSearching Protocol Reference (HTML) (PDF)
Describes the protocol adopted by document view objects to support searching.
User Experience Reference 2006-05-23
WebDocumentText Protocol Reference (HTML) (PDF)
Describes the protocol adopted by document view objects to support working with text.
User Experience Reference 2009-03-04
WebDocumentView Protocol Reference (HTML) (PDF)
Describes the protocol adopted by document view objects to display data of different MIME types.
User Experience Reference 2008-10-15
WebDownload Class Reference (HTML) (PDF)
Describes the class for providing an authentication sheet before a download begins.
User Experience Reference 2008-10-15
WebEditingDelegate Protocol Reference (HTML) (PDF)
Describes the protocol adopted by WebView objects to change the view's default editing behavior.
User Experience Reference 2009-04-08
WebFrame Class Reference (HTML) (PDF)
Describes the class for encapsulating the data displayed within a WebFrameView object.
User Experience Reference 2009-04-08
WebFrameLoadDelegate Protocol Reference (HTML) (PDF)
Describes the protocol adopted by WebView frame load delegates to be notified while frame loads are in progress.
User Experience Reference 2009-04-08
WebFrameView Class Reference (HTML) (PDF)
Describes the class for displaying the actual web content contained in a frame.
User Experience Reference 2009-03-04
WebHistory Class Reference (HTML) (PDF)
Describes the class for maintaining a set of pages visited by users.
User Experience Reference 2009-03-04
WebHistoryItem Class Reference (HTML) (PDF)
Describes the class for encapsulating information about a visited page.
User Experience Reference 2008-10-15
WebJavaPlugIn Protocol Reference (HTML) (PDF)
Describes the protocol for running Java applets from within a WebView.
User Experience Reference 2009-04-08
WebKit Constants Reference (HTML) (PDF)
Describes the types and constants found in the WebKit framework.
User Experience Reference 2008-10-15
WebKit DOM Programming Topics (HTML) (PDF)
Describes how to use JavaScript in web content and WebKit-based applications.
Internet & Web Guides 2008-10-15
WebKit Objective-C Framework Reference (HTML) (PDF)
Describes the Objective-C API used to display web content in windows.
General, User Experience Reference 2008-10-15
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, Internet & Web, User Experience Guides 2008-10-15
WebKit Plug-In Programming Topics (HTML) (PDF)
Explains how to develop and deploy browser plug-ins based on the WebKit architecture.
Internet & Web Guides 2008-10-15
WebKit Reference Update (HTML) (PDF)
Summarizes the symbols added to the WebKit framework.
Internet & Web Release Notes 2008-11-19
WebKitDOMElementPlugIn (HTML) (DMG) (ZIP)
A Web Kit plug-in that modifies its own DOM element style
Internet & Web Sample Code 2006-08-04
WebKitPluginStarter (HTML) (DMG) (ZIP)
Shows how to make a minimal WebKit plug-in.
Internet & Web Sample Code 2007-06-06
WebKitPluginWithJavaScript (HTML) (DMG) (ZIP)
Shows how to call JavaScript from a WebKit plug-in and vice versa.
Internet & Web Sample Code 2007-06-06
WebKitPluginWithSimpleGUI (HTML) (DMG) (ZIP)
A WebKit plug-in with an Interface Builder GUI
Internet & Web Sample Code 2007-06-04
WebOpenPanelResultListener Protocol Reference (HTML) (PDF)
Describes the protocol adopted by WebView delegates to communicate with an Open dialog.
User Experience Reference 2009-04-08
WebPlugIn Protocol Reference (HTML) (PDF)
Describes the protocol adopted by an application using the Web Kit and any Web Kit-based plug-ins.
User Experience Reference 2009-04-08
WebPlugInContainer Protocol Reference (HTML) (PDF)
Describes the protocol that enables a plug-in to send messages to an application.
User Experience Reference 2009-04-08
WebPlugInViewFactory Protocol Reference (HTML) (PDF)
Describes the protocol used to create an NSView object for a plug-in.
User Experience Reference 2009-04-08
WebPolicyDecisionListener Protocol Reference (HTML) (PDF)
Describes the protocol for handling download decisions asynchronously.
User Experience Reference 2009-03-04
WebPolicyDelegate Protocol Reference (HTML) (PDF)
Describes the protocol used to modify the policy decisions that are made when handling URLs or the data they represent.
User Experience Reference 2009-04-08
WebPreferences Class Reference (HTML) (PDF)
Describes the class for the preferences you can change per WebView object, such as font, text encoding, and image settings.
User Experience Reference 2008-10-15
WebResource Class Reference (HTML) (PDF)
Describes the class for downloaded data and its related properties, such as its URL and MIME type.
User Experience Reference 2009-04-08
WebResourceLoadDelegate Protocol Reference (HTML) (PDF)
Describes the protocol used to be notified on the progress of loading individual resources.
User Experience Reference 2008-06-19
WebScripting Protocol Reference (HTML) (PDF)
Describes the protocol that defines methods that classes can implement to expose their interfaces to a WebScript environment.
User Experience Reference 2009-04-08
WebScriptObject Class Reference (HTML) (PDF)
Describes the class for bridging a web view's scripting environment and the Objective-C runtime.
User Experience Reference 2009-04-08
WebUIDelegate Protocol Reference (HTML) (PDF)
Describes the protocol used to control user interface-related aspects, such as opening windows and augmenting default menus.
User Experience Reference 2009-03-04
WebUndefined Class Reference (HTML) (PDF)
Describes the class used to represent the JavaScript "undefined" value.
User Experience Reference 2006-05-23
WebView Class Reference (HTML) (PDF)
Describes the class for embedding web content in a window.
User Experience Reference 2009-04-08
WhackedTV (HTML) (DMG) (ZIP)
A Cocoa version of the venerable HackTV sample code, demonstrating usage of the Sequence Grabber API's
Audio, QuickTime Sample Code 2008-05-09
What is the "main bundle" of a command-line foundation tool? (HTML)
QA1436: Reveals the location of the main bundle of a command-line foundation tool.
Runtime Architecture Technical Q&As 2006-10-10
Why aren't my tracking rects working? (HTML)
QA1355: Describes a common mistake in setting up cursor-tracking rectangles.
Events & Other Input, User Experience Technical Q&As 2004-12-02
Why does -stringByTrimmingCharactersInSet: give me an empty string result when it shouldn't? (HTML) (日本語 HTML)
QA1202: Why -stringByTrimmingCharactersInSet: sometimes returns an empty string result in Mac OS X 10.2.x when it shouldn't.
Data Management Technical Q&As 2002-10-15
Window Programming Guide for Cocoa (HTML) (PDF)
Explains how to use Cocoa windows and panels.
User Experience Guides 2009-02-04
With and Without Bindings (HTML) (DMG) (ZIP)
Illustrates the adoption of Cocoa Bindings and refactoring using a subclass of NSArrayController.
Data Management, Design Guidelines Sample Code 2008-01-04
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
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
Worm (HTML) (DMG) (ZIP)
NSView performance demonstration. Uses a periodic timer to get best performance with Coalesced Update feature.
Graphics & Imaging, Performance Sample Code 2005-06-01
WritableFileDemo (HTML) (DMG) (ZIP)
Shows how to create an empty, writable file associated with a QTMovie object.
QuickTime Sample Code 2006-08-01
Xcode Design Tools for Class Modeling (HTML) (PDF)
Describes the Xcode Design Tools for Class Modeling.
Design Guidelines, Tools Guides 2009-02-04
Xcode Overview (HTML) (PDF)
Describes the Xcode IDE and its major components, and provides and overview of the development process.
Tools Guides 2009-01-06
Xcode Project Management Guide (HTML) (PDF)
Provides practical descriptions of the major development tasks developers perform with Xcode.
Tools Guides 2009-01-06
Xcode Quick Tour for Mac OS X (HTML) (PDF)
Provides a hands-on introduction to Xcode, Apple's comprehensive suite of software development tools for Mac OS X.
Tools Guides 2008-10-15
Xcode Tools for Core Data (HTML) (PDF)
Describes the Xcode modeling tools for Core Data.
Data Management, Tools Guides 2008-04-15
Xcode Unit Testing Guide (HTML) (PDF)
Explains how to incorporate test cases to validate individual units of source code.
Design Guidelines Guides 2008-05-02
Xcode Workspace Guide (HTML) (PDF)
Provides an overview of the Xcode workspace, and shows how to use its components and features.
Tools Guides 2009-01-06
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 Guides 2005-03-03