Jump To:
The Reference Library is a comprehensive collection of Apple technical resources, including Articles, Guides, Reference, Release Notes, Sample Code, Technical Notes, and Technical Q&As. Each of the links below leads to the resources for a specific topic.

Document Descriptions
On Off
Display

Sorted by
Title
Sort by
Topic
Sort by
Resource Type
Sort by
Date
HIArchive Programming Guide (HTML) (PDF)
Describes how to store data objects using HIArchive. Also includes information to make custom HIObjects archivable.
Carbon, User Experience Guides 2005-08-11
HIArchive Reference (HTML) (PDF)
Describes the C API for storing and retrieving data in HIArchives.
Carbon, User Experience Reference 2005-08-11
HICustomLeftRightSwitch (HTML) (DMG) (ZIP)
Illustrates how to create a custom left/right switch using the HIView functions introduced in Mac OS X 10.2.
Carbon Sample Code 2003-02-06
HICustomPushButton (HTML) (DMG) (ZIP)
Illustrates how to create a simple custom push button using the HIView functions introduced in Mac OS X 10.2.
Carbon Sample Code 2005-10-17
HID Calibrator (HTML) (DMG) (ZIP)
Human Interface Device Manager Calibrator sample
Games, Porting, User Experience Sample Code 2008-05-07
HID Class Device Interface Guide (HTML) (PDF)
Explains how to develop applications to communicate with or control HID class devices.
Darwin, Hardware & Drivers Guides 2009-05-06
HID Config Save (HTML) (DMG) (ZIP)
Human Interface Device Manager Configuration sample
Carbon, Games, Hardware & Drivers, Porting, User Experience Sample Code 2008-05-07
HID Explorer (HTML) (DMG) (ZIP)
Human Interface Device Manager Explorer
Games, User Experience Sample Code 2008-05-07
HID LED test tool (HTML) (DMG) (ZIP)
HID Manager sample project that shows how to set and clear keyboard LEDs.
Games, Porting, User Experience Sample Code 2008-07-25
HID Manager Basics (HTML) (DMG) (ZIP)
Shows basic use of HID Manager for Mac OS X: including device discovery, queues and polling elements.
Games, Hardware & Drivers, User Experience Sample Code 2003-07-10
HID Manager Event Data Underruns (HTML)
QA1038: Explains how to correctly handle HID Manager event queue data underruns.
Audio, Carbon, Core Foundation, Games, Hardware & Drivers Technical Q&As 2001-06-13
HID Utilities Source (HTML) (DMG) (ZIP)
Shows a high level abstract library for the HID manager.
Games, Hardware & Drivers, User Experience Sample Code 2003-10-06
HideMenuBar (HTML) (DMG) (ZIP)
Shows how to hide the menu bar.
Carbon Sample Code 2003-01-30
HIDoubleSlider (HTML) (DMG) (ZIP)
Illustrates how to create a double slider using the Appearance and HIView functions introduced in Mac OS X 10.2.
Carbon Sample Code 2003-10-27
HIEmbedder (HTML) (DMG) (ZIP)
Shows how to write a custom embedding HIView which can scroll if set in an HIScrollView.
Carbon Sample Code 2003-11-13
HIFleetingControls (HTML) (DMG) (ZIP)
Implements fleeting controls such as seen in QuickTime Player full screen mode or iPhoto slideshow
Carbon Sample Code 2007-05-08
HIFramework (HTML) (DMG) (ZIP)
Contains C++ classes which are used by other HIToolbox sample code releases.
Carbon Sample Code 2003-02-06
HIGeometry Reference (HTML) (PDF)
Describes the C API that defines basic geometric objects for HIToolbox.
Carbon, Graphics & Imaging Reference 2007-06-11
High Level Toolbox Release Notes (10.4) (HTML)
Carbon Release Notes 2006-01-10
High Level Toolbox Release Notes (10.4.2) (HTML)
Carbon Release Notes 2006-01-10
High Level Toolbox Release Notes (10.4.3) (HTML)
Carbon Release Notes 2006-01-10
High Level Toolbox Release Notes (10.5) (HTML)
Describes new HIToolbox features and enhancements for Mac OS X v10.5.
Carbon Release Notes 2007-10-31
High Level Toolbox Release Notes (10.5.2) (HTML)
Describes HIToolbox enhancements for Mac OS X v10.5.2.
Carbon Release Notes 2008-03-11
High-Speed SDRAM Design Considerations (HTML) (日本語 HTML)
TN1138: Illustrates certain issues with the design of high-speed SDRAM DIMM modules.
Hardware & Drivers Technical Notes 1998-08-01
HIObject Reference (HTML) (PDF)
Describes the C API for creating and manipulating human interface objects in Carbon applications.
Carbon, User Experience Reference 2005-08-11
HIObjectRegisterSubclass returns paramErr (HTML) (日本語 HTML)
QA1213: Explains in which case HIObjectRegisterSubclass would return paramErr and gives a work around.
Carbon Technical Q&As 2002-11-12
HIObjectThreadController (HTML) (DMG) (ZIP)
Shows how threads can interact with the User Interface handled by the main thread of the application.
Carbon Sample Code 2005-08-10
HIScrollingTextBox (HTML) (DMG) (ZIP)
Offers replacement custom HIViews for the Scrolling TextBox control which does not work in compositing windows.
Carbon Sample Code 2003-11-06
HIShape Reference (HTML) (PDF)
Describes the Carbon API for manipulating HIShape objects.
Carbon, Graphics & Imaging, User Experience Reference 2004-06-28
HISimpleList (HTML) (DMG) (ZIP)
Illustrates how to create a simple list using the HIView APIs introduced in Mac OS X 10.2.
Carbon Sample Code 2006-03-03
HITextShowcase (HTML) (DMG) (ZIP)
Illustrates some of the different text-related controls, non-controls, and HIViews that are available in Mac OS X 10.3.
Carbon, Text & Fonts Sample Code 2003-10-27
HITextViewDemo (HTML) (DMG) (ZIP)
Overview of basic HITextView functionality, including Tiger's new font & spelling panel support.
Carbon, Text & Fonts, User Experience Sample Code 2005-06-01
HITextViewShowcase (HTML) (DMG) (ZIP)
Shows how to create a HITextView using Interface Builder and using programming functions only.
Carbon, Text & Fonts Sample Code 2003-10-30
HIToolbar Programming Guide (HTML) (PDF)
Explains how to create toolbars in Carbon applications.
Carbon, User Experience Guides 2005-07-07
HIToolbar Reference (HTML) (PDF)
Describes the C API for creating and manipulating toolbars in Carbon applications.
Carbon, User Experience Reference 2005-09-08
HIToolboxSOU-Delegates (HTML) (DMG) (ZIP)
Shows how to use the HIObject Delegate API.
Carbon Sample Code 2006-08-04
HIToolboxSOU-MenuItemViews (HTML) (DMG) (ZIP)
Shows how to use the Menu Item View API.
Carbon Sample Code 2006-08-04
HIView APIs vs. Control Manager APIs (HTML)
TN2074: Provides some clarification on the similar APIs and similar behaviors found in the HIView and Control Managers.
Carbon Technical Notes 2003-10-29
HIView Programming Guide (HTML) (PDF)
Describes view-based controls and how to implement them in Carbon applications.
Carbon, User Experience Guides 2007-10-31
HIView Reference (HTML) (PDF)
Describes the C API for creating and manipulating view-based controls and menus in Carbon applications.
Carbon, User Experience Reference 2007-04-13
HIView-NSView (HTML) (DMG) (ZIP)
Demonstrates how to embed an NSView within an HIView in a Carbon window.
Carbon, Porting, User Experience Sample Code 2007-05-29
HIViewTest (HTML) (DMG) (ZIP)
An HIView with rudimentary drawing and hit testing.
Carbon Sample Code 2003-01-30
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.
Carbon, Cocoa, Internationalization Technical Q&As 2006-12-19
How can I find out what non-RGB pixel formats a codec supports? (HTML) (日本語 HTML)
QA1249: Applications can find out if a codec supports non-RGB pixel formats.
QuickTime Technical Q&As 2008-04-24
How can I get both Subversion (SVN) and CVS on Mac OS X 10.5 (Leopard)? (HTML)
QA1492: Explains where to find Subversion and CVS for installation.
Open Source, Tools Technical Q&As 2007-11-15
How can I handle smooth mouse wheel scrolling? (HTML)
QA1453: Details an undocumented Carbon Event which will be added to the public headers in a later DevTools release.
Carbon Technical Q&As 2005-11-29
How can I identify the runtime environment, Carbon or Cocoa, of the current application? (HTML)
QA1372: Identifies the runtime environment of the application. Useful only for plugins, frameworks, input methods, etc.
Core Foundation Technical Q&As 2006-11-07
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.
Apple Applications, Cocoa, Graphics & Imaging, Performance Technical Q&As 2005-06-01
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.
Carbon, Cocoa, Games, Graphics & Imaging Technical Q&As 2002-12-02
How can I set the default location with the modern Navigation APIs NavCreatexxx? (HTML) (日本語 HTML)
QA1151: Explains how to set the default location with a NavCustomControl call using the kNavCtlSetLocation message in the Event Proc.
Carbon Technical Q&As 2002-07-01
How can I tell if a PCI device has on board I/O space? (HTML)
QA1287: Demonstrates "how to" tell if a PCI device has on board I/O space.
Hardware & Drivers Technical Q&As 2003-09-24
How can I verify that a Movie can actually draw into a non-RGB GWorld? (HTML) (日本語 HTML)
QA1243: Techniques to verify that a Movie can actually draw into a non-RGB GWorld.
QuickTime Technical Q&As 2003-03-05
How can I work with MPEG-2 media using QuickTime? (HTML)
QA1540: How to work with MPEG-2 media using QuickTime.
QuickTime Technical Q&As 2007-08-29
How do I access files contained in my AppleScript Studio application's main bundle? (HTML)
QA1493: Explains how to access files stored within an AppleScript Studio application.
Scripting & Automation, Tools Technical Q&As 2007-02-05
How do I change the numeric base for the Open Firmware user interface? (HTML)
HW66: Explains how to change the numeric base for the Open Firmware user interface.
Hardware & Drivers Technical Q&As 1999-10-11
How do I count the frames in an MPEG movie? (HTML) (日本語 HTML)
QTMTB54: Talks about using the QuickTime Movie Toolbox function GetMovieNextInterestingTime with MPEG media tracks.
QuickTime Technical Q&As 2003-05-02
How do I create a QuickTime movie from PCM audio samples in memory? (HTML)
QA1539: How to create a QuickTime movie from PCM audio samples in memory
Audio, QuickTime Technical Q&As 2007-08-29
How do I decompress individual frames into an offscreen? (HTML)
QTMTB57: Describes methods for decompressing individual frames of a video track into an offscreen memory buffer.
QuickTime Technical Q&As 2000-04-24
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.
Cocoa, Games, Graphics & Imaging Technical Q&As 2004-10-11
How do I determine the top of the Open Firmware dictionary? (HTML)
HW69: Explains how to determine the top of the Open Firmware dictionary.
Hardware & Drivers Technical Q&As 1999-10-11
How do I get the hexadecimal value of an NSColor object? (HTML)
QA1576: Describes how to convert an NSColor object to its Hexadecimal value.
Cocoa, Graphics & Imaging, Internet & Web, Text & Fonts Technical Q&As 2007-12-19
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.
Carbon, Cocoa, Games, Graphics & Imaging, Performance Technical Q&As 2002-12-04
How do I use asserts while debugging? (HTML)
QA1431: How do I enable asserts so they log their messages and/or break when I'm debugging?
Tools Technical Q&As 2006-06-30
How do I use kMPCreateTaskSuspendedMask with MPCreateTask? (HTML)
QA1055: Describes how to start a task that has been suspended with the ability to resume it later.
Carbon Technical Q&As 2001-07-02
How do I use PMSessionGetGraphicsContext to get a CGContextRef? (HTML) (日本語 HTML)
Deprecated - QA1216: Describes how to use PMSessionSetDocumentFormatGeneration and PMSessionGetGraphicsContext to get a CGContextRef for printing.
Carbon, Graphics & Imaging, Printing Technical Q&As 2003-02-25
How do I use QuickDraw with CGDirectDisplay? (HTML)
QA1011: Explains how to draw to a CGDirectDisplay-captured display using QuickDraw.
Carbon, Games, Graphics & Imaging Technical Q&As 2001-04-11
How does Open Firmware generate the name property? (HTML) (日本語 HTML)
HW39: Describes the Open Firmware name property generation process.
Hardware & Drivers Technical Q&As 1999-02-15
How many PCI header types exist today? (HTML)
HW92: Briefly describes the three PCI header types defined in the PCI 2.2 specification.
Hardware & Drivers Technical Q&As 2000-09-05
How PBDTGetAPPL Chooses Which Copy of an App to Launch (HTML) (日本語 HTML)
Deprecated - TB19: Explains how PBDTGetAppl() chooses which application copy to launch, and how to deal with the trash.
Carbon Technical Q&As 1996-05-14
How to add a folder to the contents of a package (HTML)
QA1484: Describes how to add a folder of files to the package contents of executable code
Tools Technical Q&As 2006-10-31
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.
Cocoa Technical Q&As 2003-09-15
How To Be a Good Multiple Users Citizen (HTML) (日本語 HTML)
TN1186: Documents the Mac OS 9 Multiple Users technology and gives some useful code snippets.
Carbon Technical Notes 2000-06-01
How to Compute Data Rate for QuickTime Movies (HTML)
QTMTB46: Describes two methods of measuring the rate of samples for Quicktime movies.
QuickTime Technical Q&As 1995-09-15
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.
Cocoa Technical Q&As 2006-08-01
How to get a native QuickTime movie object from the QuickTime ActiveX/COM control (HTML)
QA1594: Describes how to get a native QuickTime movie object from the QuickTime ActiveX/COM control
QuickTime Technical Q&As 2008-03-27
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.
Cocoa, User Experience Technical Q&As 2001-05-03
How to Get the First Video Frame (HTML)
QTMCC01: Describes how to get the first frame of a movie using GetMovieNextInterestingTime.
QuickTime Technical Q&As 1995-05-01
How to handle audio data with magic cookie information (HTML)
QA1318: How to handle sound files with magic cookies when using an AudioConverter.
Audio Technical Q&As 2003-10-22
How to handle kAudioUnitProperty_MaximumFramesPerSlice (HTML)
QA1533: Illustrates how to use the kAudioUnitProperty_MaximumFramesPerSlice property
Audio Technical Q&As 2007-07-16
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.
Cocoa, Text & Fonts, User Experience Technical Q&As 2006-10-09
How to measure CG text (HTML)
QA1051: Explains how to measure Core Graphics text.
Carbon, Cocoa, Graphics & Imaging, Printing Technical Q&As 2007-08-02
How to play a sequence of movies in a Web page (HTML)
QA1593: How to have the QuickTime plug-in play a sequence of movies, one after the other, in a Web page
QuickTime Technical Q&As 2008-08-08
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.
Cocoa 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.
Cocoa Technical Q&As 2003-09-15
How to solve '_objc_exception_set_functions' ZeroLink errors in Xcode (HTML)
QA1321: Explains how to eliminate '_objc_exception_set_functions' ZeroLink errors in Xcode
Tools Technical Q&As 2003-10-29
How to Tell Whether a Picture is QuickTime-Compressed (HTML)
QTICM02: Details how to determine whether a picture's QuickTime-compressed, contains QuickTime-compressed images, and type of compression used.
QuickTime Technical Q&As 1995-05-01
How to use the ATSUI Low Level APIs to get glyph outlines (HTML) (日本語 HTML)
TN2033: Covers the ATSUI low-level APIs.
Carbon, Internationalization, Text & Fonts Technical Notes 2001-11-26
How to use the OT modem script engine (HTML) (日本語 HTML)
Deprecated - NW50: Shows how to use the Open Transport modem script engine.
Carbon, Hardware & Drivers Technical Q&As 1997-07-11
How to use URL Access with proxy servers (HTML)
Deprecated - QA1074: Explains how to use URL Access with proxy servers.
Carbon, Networking Technical Q&As 2001-10-02
How to work around HIMovieViewCreate failing (HTML)
QA1417: Describes how to work around HIMovieViewCreate failing to initialize the view in QuickTime 7
Carbon, QuickTime, Tools Technical Q&As 2008-03-11
HTML Editing Toolbar (HTML) (DMG) (ZIP)
Implements an HTML editing toolbar for Safari using JavaScript and CSS
Internet & Web Sample Code 2007-06-11
HTML Rendering Library Reference (HTML) (PDF)
Deprecated - Describes the legacy C API for drawing HTML text and images in a window. Replaced by the Web Kit.
Carbon, Graphics & Imaging Reference 2006-07-13
HTML Scripting Guide for QuickTime (HTML) (PDF)
Defines the HTML tags and parameters used to communicate with the QuickTime browser plug-in, ActiveX control, and QuickTime Player.
Internet & Web, QuickTime, Scripting & Automation Guides 2008-10-15
HTML Video With CSS Effects and Custom Video Controls (HTML) (DMG) (ZIP)
HTML5 video element example that uses CSS effects and custom video controls.
Apple Applications, Internet & Web, QuickTime Sample Code 2008-08-06
HTMLSample (HTML) (DMG) (ZIP)
Deprecated - Illustrates one way to use the HTMLRenderingLib Library.
Carbon Sample Code 2003-01-30
HTMLUserPane (HTML) (DMG) (ZIP)
Deprecated - Shows how to display a HTMLRenderingLib object inside of a user pane control.
Carbon Sample Code 2003-01-30
I/O Kit Device Driver Design Guidelines (HTML) (PDF)
Design guidelines and tips for developing, debugging, and deploying kernel-resident device drivers, including user clients.
Darwin, Hardware & Drivers Guides 2007-03-06
I/O Kit Framework Reference (HTML)
Describes the I/O Kit classes that support non-kernel access to I/O Kit objects through the device-interface mechanism.
Audio, Darwin, Hardware & Drivers Reference 2009-03-04
I/O Kit Fundamentals (HTML) (PDF)
The basics of developing device drivers. Includes descriptions of I/O Kit families.
Darwin, Hardware & Drivers, Mac OS X, Performance Guides 2007-05-17
I/O Kit Power Controller (HTML) (日本語 HTML)
TN2076: Describes code to include in a KEXT in order to register for power management events.
Hardware & Drivers Technical Notes 2003-06-20