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
Sort by
Topic
Sort by
Resource Type
Sorted by
Date
VBL (HTML) (DMG) (ZIP)
A simple example of how to create an OpenGLView in AppKit.
Graphics & Imaging Sample Code 2003-07-07
Maximizing Mac OS X Application Performance (HTML)
Learn how to achieve better performance on Mac OS X.
Performance Articles 2003-06-23
Sproing (HTML) (DMG) (ZIP)
Shows how "springs" work to control view resizing behavior.
User Experience Sample Code 2003-05-20
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
CubePuzzle (HTML) (DMG) (ZIP)
Models a Rubik's Cube using Cocoa and OpenGL
Games, Graphics & Imaging Sample Code 2003-04-21
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
OpenGLCompositorLab (HTML) (DMG) (ZIP)
Demonstrates using OpenGL to composite multiple sources in hardware. Requires NVIDIA GeForce 4 Ti hardware.
Graphics & Imaging, QuickTime Sample Code 2003-04-21
Is ColorSync thread safe? (HTML) (日本語 HTML)
QA1261: Discusses ColorSync thread-safety issues.
Graphics & Imaging Technical Q&As 2003-04-17
PPPoE Server for Testing (HTML) (日本語 HTML)
QA1252: Describes how to configure Mac OS X as a PPPoE server for testing purposes.
Networking Technical Q&As 2003-04-11
CarbonInCocoa (HTML) (DMG) (ZIP)
How to use Carbon GUI code in a Cocoa application.
Events & Other Input, User Experience Sample Code 2003-03-26
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
Clock Control (HTML) (DMG) (ZIP)
Demonstrates creating a custom control by creating a clock control, implemented as a subclass of NSControl and NSCell.
User Experience Sample Code 2003-02-25
Quartz 2D Thread Safety (HTML) (日本語 HTML)
QA1238: Explains the thread-safety issues for the Quartz 2D API.
Graphics & Imaging, Performance, Printing Technical Q&As 2003-02-25
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
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
Boxes (HTML) (PDF)
Explains how to use Cocoa boxes.
User Experience Guides 2003-02-15
Converting to Precomposed Unicode (HTML) (日本語 HTML)
QA1235: Describes how to convert a string to precomposed Unicode.
Internationalization, Text & Fonts Technical Q&As 2003-02-07
CryptoSample (HTML) (DMG) (ZIP)
Contains sample code showing symmetric encryption and message digest calculation.
Security Sample Code 2003-02-06
Drawers (HTML) (PDF)
Explains how to use Cocoa drawers.
User Experience Guides 2003-02-04
Image Difference (HTML) (DMG) (ZIP)
Demonstrates a way to use Quartz's compositing capability to find the difference between two images.
Graphics & Imaging Sample Code 2003-01-30
PDFView (HTML) (DMG) (ZIP)
Shows how to display or print a multi-page PDF document and scroll an NSscrollview's contents by dragging.
Graphics & Imaging Sample Code 2003-01-23
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
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
AnimatedSlider (HTML) (DMG) (ZIP)
Demonstrates the use of an NSTimer to animate a control in Cocoa.
User Experience Sample Code 2003-01-14
CGDrawPicture (HTML) (DMG) (ZIP)
Deprecated - Shows how to use the QDPictDrawToCGContext API.
Graphics & Imaging Sample Code 2003-01-14
Cocoa - SGDataProc (HTML) (DMG) (ZIP)
Uses a Sequence Grabber data function and an NSQuickDrawView to simulate a preview operation for captured video.
QuickTime Sample Code 2003-01-14
CocoaDragAndDrop (HTML) (DMG) (ZIP)
Implement Drag-and-Drop functionality in Cocoa (uses images; can be extended to support other data types).
Events & Other Input, Interapplication Communication Sample Code 2003-01-14
CocoaVideoFrameToGWorld (HTML) (DMG) (ZIP)
Demonstrates how to draw each frame of a QuickTime movie into a Cocoa NSQuickDrawView.
QuickTime Sample Code 2003-01-14
CocoaVideoFrameToNSImage (HTML) (DMG) (ZIP)
Demonstrates how to create an NSImage for each frame of a QuickTime movie.
QuickTime Sample Code 2003-01-14
Color Sampler (HTML) (DMG) (ZIP)
Demonstrates one way to sample the color at a given point in an NSView.
Events & Other Input, Graphics & Imaging, User Experience Sample Code 2003-01-14
ColorBars (HTML) (DMG) (ZIP)
Shows how to enumerate, select, capture, manipulate, draw to, and release displays using the CGDirectDisplay API.
Graphics & Imaging Sample Code 2003-01-14
ColorSyncDevices-Cocoa (HTML) (DMG) (ZIP)
Demonstrates how to use the new ColorSync Device Manager routines in the Cocoa environment.
Events & Other Input, Graphics & Imaging Sample Code 2003-01-14
Cropped Image (HTML) (DMG) (ZIP)
Demonstrates how to extract a sub-image from another image, and some ways of indicating a selection.
Graphics & Imaging, User Experience Sample Code 2003-01-14
CTMClip (HTML) (DMG) (ZIP)
Deprecated - Shows how to manipulate the Quartz 2D Current Transform Matrix (CTM) for image drawing with clipping.
Graphics & Imaging Sample Code 2003-01-14
CTMDemo (HTML) (DMG) (ZIP)
Deprecated - Shows how to manipulate the Quartz 2D Current Transform Matrix (CTM) for image drawing without clipping.
Graphics & Imaging Sample Code 2003-01-14
DeskPictAppDockMenu (HTML) (DMG) (ZIP)
How to add a dynamic Dock menu to your Cocoa application
File Management, User Experience Sample Code 2003-01-14
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
Eraser (HTML) (DMG) (ZIP)
Uses the DiscRecordingUI framework to present the standard erase, selection and progress dialogs.
File Management Sample Code 2003-01-14
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
ImagesToQTMovie (HTML) (DMG) (ZIP)
Creates a QuickTime movie from the images of any connected camera.
QuickTime Sample Code 2003-01-14
JDragNDrop (HTML) (DMG) (ZIP)
Deprecated - Demonstrates building a simple view to implement Drag-and-Drop functionality in Cocoa-Java.
Data Management, Events & Other Input, File Management, Java, Resource Management, Tools Sample Code 2003-01-14
LayoutManagerDemo (HTML) (DMG) (ZIP)
Demonstrates the layout manager using rollovers with different colors for lines, words and characters under the mouse.
Text & Fonts Sample Code 2003-01-14
MoreFiles (HTML) (DMG) (ZIP)
Shows various File Manager operations (file copy, etc.) through a collection of high-level routines.
File Management Sample Code 2003-01-14
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, Porting 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.
Audio, Interapplication Communication, User Experience Sample Code 2003-01-14
NameAndAddress (HTML) (DMG) (ZIP)
A single window utility that gets a host name from an IP address or an IP address from a hostname.
Apple Applications, Networking Sample Code 2003-01-14
NamingTableAccess (HTML) (DMG) (ZIP)
Digs out the contents of the NamingTable in a TrueType 'sfnt'.
Text & Fonts Sample Code 2003-01-14
Polygons (HTML) (DMG) (ZIP)
Demonstrates the NSBezierPath class, as well as the manipulation of NSView's coordinate space for convenience.
Graphics & Imaging Sample Code 2003-01-14
QTGraphicsImport (HTML) (DMG) (ZIP)
Demonstrates how to use the QuickTime Graphics Importer to draw an image into a NSWindow using a NSQuickDrawView.
QuickTime Sample Code 2003-01-14
QTtoCG (HTML) (DMG) (ZIP)
Shows how to create a CGImageRef with the proper ColorSync profile from a QuickTime image on disk.
Graphics & Imaging, QuickTime Sample Code 2003-01-14
Quartz EB (HTML) (DMG) (ZIP)
WWDC 2001 Early Bird Quartz 2D tutorial of vector drawing and PDF import/export.
Graphics & Imaging Sample Code 2003-01-14
RGB Image (HTML) (DMG) (ZIP)
Demonstrates compositing to separate an NSimage into its RGB components, and how to recombine those components.
Events & Other Input, Graphics & Imaging, User Experience Sample Code 2003-01-14
RoundTransparentWindow (HTML) (DMG) (ZIP)
Creating (in Cocoa) custom-shaped windows and transparent window content; plus changing the shape of windows dynamically.
Graphics & Imaging, User Experience Sample Code 2003-01-14
SharedMemory (HTML) (DMG) (ZIP)
Shows how multiple applications can access the same memory using the Unix shmget system call.
Performance, Process Management Sample Code 2003-01-14
Simon (HTML) (DMG) (ZIP)
A simple game demonstrating Cocoa development in Project Builder.
Tools Sample Code 2003-01-14
SimpleCocoaJavaMovie (HTML) (DMG) (ZIP)
Deprecated - A simple movie player showing how to use the NSMovieView and NSMovie Cocoa Java classes.
Java, QuickTime Sample Code 2003-01-14
SimpleCocoaJavaMovieCocoa (HTML) (DMG) (ZIP)
Deprecated - Shows how to use the NSMovieView and NSMovie Cocoa Java AppKit classes.
Graphics & Imaging Sample Code 2003-01-14
SimpleCocoaMovie (HTML) (DMG) (ZIP)
Shows how to use the NSMovieView and NSMovie Cocoa AppKit classes.
QuickTime Sample Code 2003-01-14
SimpleCocoaMovieQT (HTML) (DMG) (ZIP)
A simple movie player showing how to use the NSMovieView and NSMovie Cocoa Objective-C classes.
QuickTime Sample Code 2003-01-14
SimpleThreads (HTML) (DMG) (ZIP)
Uses the Cocoa threading APIs to coordinate multiple preemptively scheduled secondary threads with the non-reentrant Cocoa framework.
Interapplication Communication, Performance, Process Management, Runtime Architecture Sample Code 2003-01-14
SonOfSillyBalls (HTML) (DMG) (ZIP)
Draws a bunch of randomly colored, randomly placed, silly balls in a window on the screen.
Events & Other Input, Graphics & Imaging, Runtime Architecture, User Experience Sample Code 2003-01-14
SpellingChecker-CarbonCocoa (HTML) (DMG) (ZIP)
Implements procedural C wrapper around the Cocoa NSSpellChecker, exports it as a Mach-O bundle called "SpellCheck.bundle"
Runtime Architecture Sample Code 2003-01-14
SSLSample (HTML) (DMG) (ZIP)
Contains examples showing how to use SecureTransport.
Security Sample Code 2003-01-14
TextViewConfig (HTML) (DMG) (ZIP)
Configuration of multiple layout managers and multiple text container/text view pairs on a single text storage.
Text & Fonts Sample Code 2003-01-14
TextViewDelegate (HTML) (DMG) (ZIP)
Demonstrates using a text view's delegate to control selection and user input.
Text & Fonts Sample Code 2003-01-14
Tinted Image (HTML) (DMG) (ZIP)
Demonstrates the use of an NSImage as an off-screen drawing destination.
Graphics & Imaging, User Experience Sample Code 2003-01-14
ToolbarSample (HTML) (DMG) (ZIP)
Demonstrates using the Cocoa NSToolbar/NSToolbarItem API to add customizable toolbars to windows. Includes advanced custom views.
Events & Other Input, User Experience Sample Code 2003-01-14
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
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
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 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
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
Combo Box Programming Topics (HTML) (PDF)
Explains how to use Cocoa combo boxes.
User Experience Guides 2002-11-12
Debugging Cocoa Applications (HTML) (PDF)
Tips and techniques for debugging Cocoa applications.
Performance Guides 2002-11-12
Forms (HTML) (PDF)
Explains how to use Cocoa forms.
User Experience Guides 2002-11-12
Image Views (HTML) (PDF)
Explains how to use Cocoa image views.
Graphics & Imaging, User Experience Guides 2002-11-12
Progress Indicators (HTML) (PDF)
Explains how to use Cocoa progress indicators.
User Experience Guides 2002-11-12
Status Bars (HTML) (PDF)
Explains how to use Cocoa status bars.
User Experience Guides 2002-11-12
Steppers (HTML) (PDF)
Explains how to use Cocoa steppers.
User Experience Guides 2002-11-12
System Services (HTML) (PDF)
Explains how Cocoa applications can extend their capabilities seamlessly to other applications.
Interapplication Communication, User Experience Guides 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 Guides 2002-11-12
Video (HTML) (PDF)
Explains how to use QuickTime movies in Cocoa.
QuickTime Guides 2002-11-12
Quartz 2D Interpolation (HTML) (日本語 HTML)
QA1186: Explains how to control Quartz 2D's image interpolation.
Graphics & Imaging, Printing Technical Q&As 2002-10-29
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
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
Mac OS X 10.2 (HTML)
TN2053: Describes software development-related changes provided in system software update Mac OS X 10.2.
Tools Technical Notes 2002-09-04
Preventing crashes when using multiple disabled but editable NSComboBoxes (HTML) (日本語 HTML)
QA1142: How to prevent a crash when using multiple disabled -- but editable --NSComboBoxes in a view.
User Experience Technical Q&As 2002-06-03
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
Mac OS X: v10.1.1 - v10.1.3 (HTML)
TN2043: Describes changes provided by system software updates 10.1.1 through 10.1.3.
Tools Technical Notes 2002-03-06
Solving NSTabView drawing problems in Mac OS X 10.1.x (HTML) (日本語 HTML)
QA1117: Explains how to work around NSTabView draw problems in Mac OS X 10.1.x
User Experience Technical Q&As 2002-02-14
Power Management; Policy Maker vs. Power Controller (HTML) (日本語 HTML)
QA1121: Describes the differences between a Power Management Policy Maker and a Power Management Power Controller.
Events & Other Input Technical Q&As 2002-02-13
Static linking of user binaries on Mac OS X (HTML) (日本語 HTML)
QA1118: Explains why static linking of user binaries is not supported on Mac OS X, and possible workarounds.
Runtime Architecture Technical Q&As 2002-02-07
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
Setting environment variables for user processes (HTML)
QA1067: Tells how to set environment variables for user processes.
Data Management, Games, Porting, Runtime Architecture, Tools Technical Q&As 2001-10-25
CGContextClosePath (HTML)
QA1046: Explains when you should call CGContextClosePath.
Graphics & Imaging, Printing Technical Q&As 2001-10-02
Saving the current Core Graphics Path (HTML)
QA1056: Explains that the Core Graphics save and restore GState APIs do not affect the path.
Graphics & Imaging, Printing Technical Q&As 2001-10-02
Comparing selectors in Cocoa-Java code (HTML)
Deprecated - QA1069: Explains why Objective-C and Java selectors appear to be the same name but equality tests fail.
Java Technical Q&As 2001-08-31
CGContext Bounds (HTML)
QA1048: Explains how to determine the bounds of a CGContext.
Graphics & Imaging, Printing Technical Q&As 2001-07-02
CGContextAddLineToPoint, CGContextAddCurveToPoint, et. al. (HTML)
QA1049: Explains why the CGContextAddXYZ APIs don't draw anything immediately.
Graphics & Imaging, Printing Technical Q&As 2001-07-02
Drawing a Path Multiple Times (HTML)
QA1047: Explains that path drawing operations consume the path.
Graphics & Imaging, Printing Technical Q&As 2001-07-02
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
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
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
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
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
Resolving Alias Files Quietly (HTML)
FL30: Describes how to resolve alias files on remote volumes without user interaction.
File Management Technical Notes 1999-11-01
Detecting specific ROM-in-RAM Mac (HTML) (日本語 HTML)
Deprecated - HW49: Identifying a Mac by name ("iMac"), and better alternatives for determining specific features ("has Firewire").
Design Guidelines, Runtime Architecture Technical Q&As 1999-10-05
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
Changing the TCP Window Size (HTML)
NW47: Describes how to change the TCP window size in Open Transport.
Networking Technical Q&As 1997-03-14
T_DATA_REQ vs M_DATA TPI Message Blocks (HTML) (日本語 HTML)
NW42: Explains why OT passes data to a TPI module using M_DATA message blocks instead of M_PROTO+T_DATA_REQ.
Networking Technical Q&As 1996-10-25
NSTableView Class Reference (HTML) (PDF)
Describes a view that displays and manages tabular data.
User Experience Reference