Jump To:
Leopard Technical Q&As
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
Date
Variable arguments in Objective-C methods (HTML)
QA1405: How to implement methods which take a variable number of arguments.
Objective-C Language 2005-01-13
Disabling Processor Cores on a Multi-Core System (HTML) (日本語 HTML)
QA1141: Describes how to disable processor cores on a multi-core system for testing purposes.
Performance 2008-09-16
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.
Performance 2002-12-04
Quartz 2D Thread Safety (HTML) (日本語 HTML)
QA1238: Explains the thread-safety issues for the Quartz 2D API.
Performance 2003-02-25
Requirements for Quartz GL (HTML)
QA1536: Describes the requirements for enabling Quartz GL.
Performance 2008-08-08
Setting environment variables for user processes (HTML)
QA1067: Tells how to set environment variables for user processes.
Porting 2001-10-25
CGContext Bounds (HTML)
QA1048: Explains how to determine the bounds of a CGContext.
Printing 2001-07-02
CGContextAddLineToPoint, CGContextAddCurveToPoint, et. al. (HTML)
QA1049: Explains why the CGContextAddXYZ APIs don't draw anything immediately.
Printing 2001-07-02
CGContextClosePath (HTML)
QA1046: Explains when you should call CGContextClosePath.
Printing 2001-10-02
Drawing a Path Multiple Times (HTML)
QA1047: Explains that path drawing operations consume the path.
Printing 2001-07-02
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 2008-08-08
How to measure CG text (HTML)
QA1051: Explains how to measure Core Graphics text.
Printing 2007-08-02
Quartz 2D Interpolation (HTML) (日本語 HTML)
QA1186: Explains how to control Quartz 2D's image interpolation.
Printing 2002-10-29
Quartz 2D Thread Safety (HTML) (日本語 HTML)
QA1238: Explains the thread-safety issues for the Quartz 2D API.
Printing 2003-02-25
Saving the current Core Graphics Path (HTML)
QA1056: Explains that the Core Graphics save and restore GState APIs do not affect the path.
Printing 2001-10-02
Turning Off Core Graphics Clipping (HTML)
QA1050: Explains how to clear the clipping path for a CGContext.
Printing 2001-07-02
Unexpected CG state changes (HTML)
QA1045: Explains why the Core Graphics drawing state sometimes changes for no apparent reason.
Printing 2001-07-02
Customizing Process Stack Size (HTML)
QA1419: Describes methods for setting the stack size of a process and/or thread.
Process Management 2008-02-20
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 2008-04-14
Programmatically causing restart, shutdown and/or logout (HTML) (日本語 HTML)
QA1134: Describes how to programmatically cause restart, shutdown, sleep or logout.
Process Management 2008-09-24
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 2004-06-03
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 2006-03-29
Movies - Saving movie playback hints (HTML)
QA1366: Explains how to save and load media play hints from Movie files.
QuickTime 2004-09-14
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 2008-05-19
QTKit Capture - Disabling specific audio channels when recording (HTML)
QA1617: Describes how to disable specific audio channels when recording using QTKit Capture.
QuickTime 2008-10-13
QTKit Capture - Extracting SMPTE Timecode information from a QTSampleBuffer (HTML)
QA1600: Describes how to use the QTSampleBufferSMPTETimeAttribute with a sample buffer.
QuickTime 2008-03-17
QTKit Capture - Video Compression Options And Preview (HTML)
QA1583: Describes how video compression options may influence the resolution of previewed video.
QuickTime 2008-09-16
QuickTime Audio - Easy Frequency Level Metering with MovieAudio APIs (HTML)
QA1459: Describes how to perform frequency band level metering using MovieAudio metering APIs.
QuickTime 2009-01-29
Using QTPixelBufferContextCreate with NewMovieFromProperties (HTML)
QA1443: Discusses using a QuickTime pixel buffer visual context and NewMovieFromProperties to output frames to pixel buffers.
QuickTime 2008-08-08
Core Animation properties and Reference Counting (HTML)
QA1565: Describes a discrepancy between the property declarations in Core Animation and the actual behavior.
Resource Management 2008-11-24
Customizing Process Stack Size (HTML)
QA1419: Describes methods for setting the stack size of a process and/or thread.
Resource Management 2008-02-20
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 2006-10-10
Obtaining the localized application name in Cocoa (HTML)
QA1544: Describes how to obtain several versions of the application name in Cocoa.
Resource Management 2007-09-21
Preventing sleep (HTML)
QA1160: Explains how your application can prevent the system from sleeping.
Resource Management 2004-10-22
Programmatically causing restart, shutdown and/or logout (HTML) (日本語 HTML)
QA1134: Describes how to programmatically cause restart, shutdown, sleep or logout.
Resource Management 2008-09-24
Registering and unregistering for sleep and wake notifications (HTML)
QA1340: Explains how applications can register and unregister for sleep and wake notifications on Mac OS X.
Resource Management 2008-08-08
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").
Runtime Architecture 1999-10-05
Environment Variables (HTML)
QA1255: Describes how a process gets its environment variables.
Runtime Architecture 2003-10-29
Setting environment variables for user processes (HTML)
QA1067: Tells how to set environment variables for user processes.
Runtime Architecture 2001-10-25
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 2002-02-07
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 2006-10-10
CFBundleIdentifier and user application access (HTML)
QA1373: Describes the role of CFBundleIdentifier in limiting a user's application access.
Security 2005-02-08
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 2006-10-03
Security Framework Error Codes (HTML)
QA1499: Explains how to interpret errors returned by the Security Framework with an overview of Security error handling.
Security 2006-11-16
Connecting the Font Menu in Interface Builder 3 (HTML)
QA1571: How to connect and configure the Font/Format menus in Interface Builder 3.
Text & Fonts 2008-01-21
Converting to Precomposed Unicode (HTML) (日本語 HTML)
QA1235: Describes how to convert a string to precomposed Unicode.
Text & Fonts 2003-02-07
Disabling and Enabling an NSTextView (HTML)
QA1461: Shows how a Cocoa application can disable and enable an NSTextView.
Text & Fonts 2006-09-11
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 2008-02-27
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 2008-03-25
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 2006-10-02
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 2006-10-09
Sorting Like the Finder (HTML)
QA1159: Shows how to sort strings like the Finder's list view.
Text & Fonts 2004-10-27
Connecting the Font Menu in Interface Builder 3 (HTML)
QA1571: How to connect and configure the Font/Format menus in Interface Builder 3.
Tools 2008-01-21
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 2001-05-03
Help Book Caching During Software Development (HTML)
QA1409: Development situations that can potentially confuse Help Viewer
Tools 2005-03-30
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 2007-03-21
Setting environment variables for user processes (HTML)
QA1067: Tells how to set environment variables for user processes.
Tools 2001-10-25
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 2007-09-10
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.
User Experience 2001-10-30
Configuring the Recent Searches menu for NSSearchField (HTML)
QA1496: Discusses the common problem when adding menu items to the Recent Searches menu.
User Experience 2006-11-27
Connecting the Font Menu in Interface Builder 3 (HTML)
QA1571: How to connect and configure the Font/Format menus in Interface Builder 3.
User Experience 2008-01-21
Debugging NSTableView's "Action Invocation" binding (HTML)
QA1472: Discusses the issues and factors that affect NSTableView's "Action Invocation" binding.
User Experience 2006-11-13
Disabling and Enabling an NSTextView (HTML)
QA1461: Shows how a Cocoa application can disable and enable an NSTextView.
User Experience 2006-09-11
Disabling text completion in an NSTextField (HTML)
QA1553: Shows how to implement a delegate method provided by NSControl to disable automatic text completion.
User Experience 2008-02-27
Embedding Hyperlinks in NSTextField and NSTextView (HTML)
QA1487: Shows how a Cocoa app can embed a hyperlink inside both NSTextField and NSTextView using NSAttributedString.
User Experience 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 2008-01-21
Finding an NSView's current magnification. (HTML)
QA1346: How to discover the current magnification (zoom level) of any NSView.
User Experience 2005-03-08
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.
User Experience 2001-05-03
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 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 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.
User Experience 2006-10-09
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 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.
User Experience 2003-09-15
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 2008-02-27
NSOpenPanel - Choosing any file and ignoring packages (HTML)
QA1468: Explains how to configure NSOpenPanel to filter only files and ignoring packages.
User Experience 2007-01-25
NSProgressIndicator animation and redraw (HTML)
QA1473: Discusses why NSProgressIndicator does not redraw during progress loops.
User Experience 2006-11-15
Preventing column reordering in NSTableView (HTML)
QA1503: Demonstrates how to prevent column reordering of certain columns in NSTableView.
User Experience 2007-01-24
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 2002-06-03
Re-enabling dragging from NSTableView to other applications (HTML) (日本語 HTML)
QA1220: Explains how to re-enable drag-and-drop from NSTableViews to other applications
User Experience 2008-02-08
Requirements for Quartz GL (HTML)
QA1536: Describes the requirements for enabling Quartz GL.
User Experience 2008-08-08
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 2002-02-14
Suppressing the "unexpectedly quit" alert (HTML)
QA1288: Describes how to suppress the "unexpectedly quit" alert.
User Experience 2008-03-11
Why aren't my tracking rects working? (HTML)
QA1355: Describes a common mistake in setting up cursor-tracking rectangles.
User Experience 2004-12-02