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
Sorted by
Resource Type
Sort by
Date
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
QTKit Capture - Disabling Audio Or Video When Capturing From a Muxed Device (HTML)
QA1607: Describes the use of the setEnabled: method to disable audio or video capture from muxed devices.
QuickTime Technical Q&As 2008-05-19
Determining console user login status (HTML)
QA1133: How to determine whether a user is logged in on the console, and be notified of changes.
Process Management Technical Q&As 2008-04-14
Bonjour Printer Subtype for HTTP (HTML)
QA1555: Describes how printer vendors can register their bonjour service such that Safari can see them.
Networking Technical Q&As 2008-03-25
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
QTKit Capture - Extracting SMPTE Timecode information from a QTSampleBuffer (HTML)
QA1600: Describes how to use the QTSampleBufferSMPTETimeAttribute with a sample buffer.
QuickTime Technical Q&As 2008-03-17
Suppressing the "unexpectedly quit" alert (HTML)
QA1288: Describes how to suppress the "unexpectedly quit" alert.
User Experience Technical Q&As 2008-03-11
Common mistakes with delegation in Cocoa (HTML)
QA1554: The two most common errors that lead to a delegate method not being received.
Design Guidelines, Objective-C Language Technical Q&As 2008-02-27
Disabling text completion in an NSTextField (HTML)
QA1553: Shows how to implement a delegate method provided by NSControl to disable automatic text completion.
Text & Fonts, User Experience Technical Q&As 2008-02-27
NSDate - Natural language date parsing in early Leopard releases (HTML)
QA1581: Acknowledges a regression in +dateWithNaturalLanguageString: behavior of NSDate which is fixed as of 10.5.2.
User Experience Technical Q&As 2008-02-27
Customizing Process Stack Size (HTML)
QA1419: Describes methods for setting the stack size of a process and/or thread.
Process Management, Resource Management Technical Q&As 2008-02-20
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, User Experience Technical Q&As 2008-02-08
Connecting the Font Menu in Interface Builder 3 (HTML)
QA1571: How to connect and configure the Font/Format menus in Interface Builder 3.
Design Guidelines, Text & Fonts, Tools, User Experience Technical Q&As 2008-01-21
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
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
Obtaining the localized application name in Cocoa (HTML)
QA1544: Describes how to obtain several versions of the application name in Cocoa.
Internationalization, Resource Management Technical Q&As 2007-09-21
Adding and removing a submenu from a menu in Cocoa (HTML)
QA1420: Explains how to dynamically add and remove menus in a Cocoa application.
User Experience Technical Q&As 2007-09-10
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
How to measure CG text (HTML)
QA1051: Explains how to measure Core Graphics text.
Graphics & Imaging, Printing Technical Q&As 2007-08-02
CGBitmapContextCreate Supported Color Spaces (HTML)
QA1037: Lists the color space and alpha info combinations currently supported by CGBitmapContextCreate.
Games, Graphics & Imaging Technical Q&As 2007-07-18
Debugging a WebKit Plug-in in Xcode (HTML)
QA1500: Directions for debugging a WebKit plug-in in Xcode.
Internet & Web Technical Q&As 2007-06-05
Detecting the Caps Lock Key (HTML)
QA1519: Explains how to detect when the caps lock key is turned on and off.
Events & Other Input Technical Q&As 2007-05-11
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
Including a custom NSWindow in a nib file (HTML)
QA1511: Shows how to create a custom NSWindow and instantiate it in a nib file.
Tools Technical Q&As 2007-03-21
Availability of Quartz Composer Patches in Web Kit (HTML)
QA1505: Details which Quartz Composer patches are available in Web Kit
Internet & Web Technical Q&As 2007-03-05
NSOpenPanel - Choosing any file and ignoring packages (HTML)
QA1468: Explains how to configure NSOpenPanel to filter only files and ignoring packages.
File Management, User Experience Technical Q&As 2007-01-25
Preventing column reordering in NSTableView (HTML)
QA1503: Demonstrates how to prevent column reordering of certain columns in NSTableView.
User Experience Technical Q&As 2007-01-24
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
Configuring the Recent Searches menu for NSSearchField (HTML)
QA1496: Discusses the common problem when adding menu items to the Recent Searches menu.
User Experience Technical Q&As 2006-11-27
Security Framework Error Codes (HTML)
QA1499: Explains how to interpret errors returned by the Security Framework with an overview of Security error handling.
Security Technical Q&As 2006-11-16
NSProgressIndicator animation and redraw (HTML)
QA1473: Discusses why NSProgressIndicator does not redraw during progress loops.
User Experience Technical Q&As 2006-11-15
Debugging NSTableView's "Action Invocation" binding (HTML)
QA1472: Discusses the issues and factors that affect NSTableView's "Action Invocation" binding.
User Experience Technical Q&As 2006-11-13
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
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
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
Building Objective-C static libraries with categories (HTML)
QA1490: Describes how to properly build Objective-C static libraries that contain categories on existing classes.
Objective-C Language Technical Q&As 2006-10-03
Programmatically Accessing and Manipulating Multiple Keychain Items (HTML)
QA1486: An explanation on what is and is not possible using the SecKeychain API to manipulate Keychain Items.
Security Technical Q&As 2006-10-03
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
Disabling and Enabling an NSTextView (HTML)
QA1461: Shows how a Cocoa application can disable and enable an NSTextView.
Text & Fonts, User Experience Technical Q&As 2006-09-11
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
CoreAudio Overload Warnings (HTML)
QA1467: Describes CoreAudio overload warnings what they mean and how to avoid them.
Audio Technical Q&As 2006-03-29
MovieAudioExtraction - Ensure a Movie is fully loaded before starting an extraction session (HTML)
QA1469: Describes the importance of making sure a Movie is fully loaded before extracting audio.
QuickTime Technical Q&As 2006-03-29
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
Debugging Graphics with QuartzDebug (HTML) (日本語 HTML)
QA1236: Explains how to use QuartzDebug to debug graphics issues.
Graphics & Imaging Technical Q&As 2006-01-12
Problems getting Bonjour TXT record information (HTML)
QA1389: Explains why you might have problems retrieving TXT record information from a CFNetServiceRef or NSNetService.
Networking Technical Q&As 2005-07-06
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
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
Crash in ABAddPropertiesAndTypes (HTML)
QA1404: How to correctly add custom Address Book properties using ABAddPropertiesAndTypes
Apple Applications Technical Q&As 2005-04-04
Help Book Caching During Software Development (HTML)
QA1409: Development situations that can potentially confuse Help Viewer
Tools Technical Q&As 2005-03-30
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
CFBundleIdentifier and user application access (HTML)
QA1373: Describes the role of CFBundleIdentifier in limiting a user's application access.
Design Guidelines, Security Technical Q&As 2005-02-08
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
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
Resolves may return an IPv6 address in Panther (HTML)
QA1298: Explains why you get an IP address of 0.0.0.0 when resolving a Bonjour service.
Networking Technical Q&As 2005-01-10
NSOpenGLView redraw problems after a window is closed and re-opened. (HTML)
QA1353: Workaround for NSOpenGLView failure to draw after its window is closed and re-opened.
Graphics & Imaging Technical Q&As 2004-12-03
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
Sending an Email (HTML)
QA1084: Shows how to create an email in the user's prefered email application.
Interapplication Communication, Internet & Web, Networking Technical Q&As 2004-11-05
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
Sorting Like the Finder (HTML)
QA1159: Shows how to sort strings like the Finder's list view.
File Management, Text & Fonts Technical Q&As 2004-10-27
Preventing sleep (HTML)
QA1160: Explains how your application can prevent the system from sleeping.
Resource Management Technical Q&As 2004-10-22
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
Movies - Saving movie playback hints (HTML)
QA1366: Explains how to save and load media play hints from Movie files.
QuickTime Technical Q&As 2004-09-14
Setting the ColorSync profile for a NSBitmapImageRep object (HTML)
QA1369: Setting the ColorSync profile for a NSBitmapImageRep object
Graphics & Imaging Technical Q&As 2004-09-08
Bonjour enforces the TXT record format in Panther (HTML)
QA1306: Explains how mDNSResponder enforces the proper TXT record format in Panther.
Networking Technical Q&As 2004-07-14
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
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
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
Avoiding the -42 error with DiscRecording (HTML)
QA1292: Explains how to workaround the -42 error when using the DiscRecording API.
File Management Technical Q&As 2004-05-25
Bonjour enforces the service type format in Panther (HTML)
QA1198: Explains why registering a Bonjour service might fail on Panther.
Networking Technical Q&As 2004-03-23
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
Shearing a Coordinate Space with NSAffineTransform (HTML) (日本語 HTML)
QA1332: Describes a simple way to shear coordinate spaces by adding a few methods to the NSAffineTransform class.
Graphics & Imaging Technical Q&As 2004-01-29
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
Environment Variables (HTML)
QA1255: Describes how a process gets its environment variables.
Runtime Architecture Technical Q&As 2003-10-29
Bonjour TXT record rate limiting in Panther (HTML)
QA1293: Explains how mDNSResponder implements TXT record rate limiting in Panther.
Networking Technical Q&As 2003-10-23
Third party VFS can't unmount on Mac OS X 10.3 (HTML)
QA1308: Describes changes in unmounting behavior for VFS plug-ins under Mac OS X 10.3 "Panther."
File Management Technical Q&As 2003-10-23
Bonjour and wake from sleep (HTML)
QA1290: Explains why applications that use Bonjour should stay registered and continue browsing on sleep.
Networking Technical Q&As 2003-09-18
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 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
CFXML to CFPropertyListRef (and back!) (HTML) (日本語 HTML)
QA1208: Describes to how save and restore a CFPropertyListRef to and from an XML file.
Data Management Technical Q&As 2003-08-29
CGImageRef contents are immutable (HTML) (日本語 HTML)
QA1276: Explains that CGImageRef contents are considered immutable once created.
Graphics & Imaging Technical Q&As 2003-07-17
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
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
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
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
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
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
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
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
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
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