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

Sort by
Title
Sorted by
Topic
Sort by
Resource Type
Sort by
Date
Observing Process Lifetimes Without Polling (HTML)
TN2050: Shows a variety of methods to observe process lifetimes without polling.
Core Foundation Technical Notes 2008-09-10
OTScheduleDeferredTask When Task Running (HTML) (日本語 HTML)
NW52: Describes what happens when you use OTScheduleDefferedTask to schedule a task that is running.
Core Foundation Technical Q&As 1997-10-13
PasteboardPeeker (HTML) (DMG) (ZIP)
Using pasteboards for Copy and Paste, Drag and Drop, service support and filter services.
Core Foundation Sample Code 2005-08-10
Performance Overview (HTML) (PDF)
Introduces the factors that determine performance.
Core Foundation Guides 2006-10-03
Plug-ins (HTML) (PDF)
Explains how to use the plug-in architecture provided by Core Foundation.
Core Foundation Guides 2005-03-03
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.
Core Foundation Technical Q&As 2002-02-13
The Preferences Problem (HTML) (日本語 HTML)
Deprecated - TN1134: Outlines typical problems with preferences files and some of their solutions.
Core Foundation Technical Notes 1998-10-01
Preferences Programming Topics for Core Foundation (HTML) (PDF)
Explains how to manage Core Foundation user preferences.
Core Foundation Guides 2006-10-03
Preferences Utilities Reference (HTML) (PDF)
Describes Core Foundation preferences functions.
Core Foundation Reference 2007-10-31
Problems getting Bonjour TXT record information (HTML)
QA1389: Explains why you might have problems retrieving TXT record information from a CFNetServiceRef or NSNetService.
Core Foundation Technical Q&As 2005-07-06
Programmatically causing restart, shutdown and/or logout (HTML) (日本語 HTML)
QA1134: Describes how to programmatically cause restart, shutdown, sleep or logout.
Core Foundation Technical Q&As 2008-09-24
Programmatically Performing an Open Directory Search (HTML)
QA1462: A short guide on how to programmatically search Open Directory for matching attribute values within records.
Core Foundation Technical Q&As 2006-09-11
Property List Programming Topics for Core Foundation (HTML) (PDF)
Explains how to use structured, textual representations of data in Core Foundation.
Core Foundation Guides 2006-02-07
RecentItems (HTML) (DMG) (ZIP)
Implements "Recent items" menu(s)
Core Foundation Sample Code 2006-10-09
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.
Core Foundation Technical Q&As 2008-08-08
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.
Core Foundation Technical Q&As 2005-01-10
Resource Programming Guide (HTML) (PDF)
Explains how to work with nib and bundle resources in Mac OS X applications.
Core Foundation Guides 2009-01-06
Setting environment variables for user processes (HTML)
QA1067: Tells how to set environment variables for user processes.
Core Foundation Technical Q&As 2001-10-25
SimpleDial (HTML) (DMG) (ZIP)
Demonstrates management of dialup connections, such as PPP, using System Configuration framework network connection API.
Core Foundation Sample Code 2005-07-26
SimpleReach (HTML) (DMG) (ZIP)
Demonstrates network host reachability testing using the System Configuration framework asynchronous network reachability API.
Core Foundation Sample Code 2005-07-26
Socket Name Server Utilities Reference (HTML) (PDF)
Describes a representation of a native network socket; does nothing in Mac OS X.
Core Foundation Reference 2006-10-27
Spotlight (HTML) (DMG) (ZIP)
Sample code that shows how to write Spotlight Importers.
Core Foundation Sample Code 2005-06-01
Spotlight Importer Programming Guide (HTML) (PDF)
Describes the role of metadata importers and how to write them.
Core Foundation Guides 2007-05-27
Spotlight Metadata Attributes Reference (HTML) (PDF)
Describes metadata attributes used with Spotlight.
Core Foundation Reference 2007-05-22
Spotlight Overview (HTML) (PDF)
Introduces the main components and services of Apple's metadata technology.
Core Foundation Guides 2007-05-27
Spotlight Query Programming Guide (HTML) (PDF)
Describes how to add Spotlight searching to your applications.
Core Foundation Guides 2006-03-08
Strings Programming Guide for Core Foundation (HTML) (PDF)
Explains how to create, manipulate, and search strings in Core Foundation, and how strings interact with encodings and character sets.
Core Foundation Guides 2008-03-11
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.
Core Foundation Technical Q&As 1996-10-25
Threading Programming Guide (HTML) (PDF)
Explains how to use threads in Cocoa applications.
Core Foundation Guides 2008-02-08
Tiger Develop Overview Series: Working with Spotlight (HTML)
Learn to make the most of Spotlight's powerful search technologies within your own applications.
Core Foundation Articles 2004-10-07
Time Utilities Reference (HTML) (PDF)
Describes Core Foundation time functions.
Core Foundation Reference 2007-08-23
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.
Core Foundation Technical Q&As 2004-07-14
URL Access vs. CFNetwork (HTML)
QA1291: Explains when to choose URL Access or CFNetwork when downloading files from within your application.
Core Foundation Technical Q&As 2003-10-29
Using language-tagged QuickTime UserData text APIs with CFStrings (HTML)
QA1410: Describes how to use language-tagged QuickTime UserData text APIs with CFStrings and TextEncodings.
Core Foundation Technical Q&As 2005-02-11
Using Secure Event Input Fairly (HTML)
TN2150: Describes the proper use of EnableSecureEventInput.
Core Foundation Technical Notes 2007-06-08
Watcher (HTML) (DMG) (ZIP)
Uses FSEvents to monitor a directory hierarchy to keep track of its total size
Core Foundation Sample Code 2006-08-04
Web Services Core Framework Reference (HTML)
Describes the client-side APIs for accessing web services.
Core Foundation Reference 2009-01-06
Xcode Unit Testing Guide (HTML) (PDF)
Explains how to incorporate test cases to validate individual units of source code.
Core Foundation Guides 2008-05-02
XML Programming Topics for Core Foundation (HTML) (PDF)
Explains how to parse XML documents into structured objects.
Core Foundation Guides 2008-10-15
The "/.vol" directory and "volfs" (HTML) (日本語 HTML)
QA1113: Describes how the Carbon File Manager interacts with BSD via "volfs" and the "/.vol" directory.
Darwin Technical Q&As 2002-02-14
64-Bit Transition Guide (HTML) (PDF)
Describes the 64-bit features available in Mac OS X.
Darwin Guides 2008-04-08
Accessing Hardware From Applications (HTML) (PDF)
Tips and guidelines for developing applications that communicate with or control devices.
Darwin Guides 2007-02-08
Affinity API Release Notes for Mac OS X v10.5 (HTML)
Explains how to influence which CPU core runs a group of threads (for performance optimization).
Darwin Release Notes 2007-10-31
Allocating and sharing memory with user space from an I/O Kit driver (HTML) (日本語 HTML)
QA1197: Describes the preferred technique for allocating and sharing buffers in an I/O Kit kernel driver.
Darwin Technical Q&As 2008-10-13
AltiVec/SSE Migration Guide (HTML) (PDF)
Explains how to convert PowerPC AltiVec code to Intel SSE code.
Darwin Guides 2005-09-08
Apple Filing Protocol Programming Guide (HTML) (PDF)
Describes high-level concepts for Apple Filing Protocol commands.
Darwin Guides 2006-04-04
Apple Filing Protocol Reference (HTML) (PDF)
Describes the Apple Filing Protocol commands.
Darwin Reference 2006-05-23
Are the Name Registry device tree nodes unique? (HTML)
Deprecated - HW64: Discusses whether Name Registry nodes copied from the Open Firmware device tree are unique.
Darwin Technical Q&As 1999-10-11
Audio Device Driver Programming Guide (HTML) (PDF)
Explains how to develop kernel-resident drivers for audio devices.
Darwin Guides 2009-03-04
Authorization Services Programming Guide (HTML) (PDF)
Explains how to add fine-grained control of privileged operations in an application.
Darwin Guides 2009-01-06
Avoiding Kernel Event Conflicts (HTML)
QA1063: Documents the namespace for the vendor_code field of the kern_event_msg structure.
Darwin Technical Q&As 2001-09-14
Bluetooth Framework Reference (HTML)
Describes the C and Objective-C APIs that support user-space access to Bluetooth devices.
Darwin Reference 2008-10-15
Bluetooth User Interface Framework Reference (HTML)
Describes the C and Objective-C APIs that provide a consistent user interface to Bluetooth services.
Darwin Reference 2008-04-08
Bonjour enforces the TXT record format in Panther (HTML)
QA1306: Explains how mDNSResponder enforces the proper TXT record format in Panther.
Darwin Technical Q&As 2004-07-14
Bonjour Printer Subtype for HTTP (HTML)
QA1555: Describes how printer vendors can register their bonjour service such that Safari can see them.
Darwin Technical Q&As 2008-03-25
BootstrapDump (HTML) (DMG) (ZIP)
Print Mach bootstrap namespace information.
Darwin Sample Code 2008-06-18
Building an Open Source Universal Binary (HTML)
Learn to build a universal binary through this sample build that uses OpenSSL.
Darwin Articles 2006-04-24
Building Darwin (HTML)
Explains how to work with the Darwin build system using the build tools provided.
Darwin Guides 2001-10-08
Building Universal Binaries from "configure"-based Open Source Projects (HTML)
TN2137: Describes some methods for building some existing "configure"-based Open Source packages as universal binaries.
Darwin Technical Notes 2006-10-05
Building Universal I/O Kit Drivers (HTML)
TN2163: How to build a universal I/O Kit kernel driver while avoiding common pitfalls.
Darwin Technical Notes 2008-08-18
Byte-Order Utilities Reference (HTML) (PDF)
Describes Core Foundation byte-order functions.
Darwin Reference 2006-05-23
Can't attach during two-machine debugging with GDB (HTML) (日本語 HTML)
Deprecated - QA1019: Describes a workaround for a problem attaching during two-machine debugging on Mac OS X 10.0.x.
Darwin Technical Q&As 2003-06-02
CCL Modem Scripting Guide (HTML) (PDF)
Darwin Guides 2007-06-28
CCL Modem Scripting Release Notes (HTML)
Explains changes to modem CCLs for Mac OS X v10.5 and what to do to change existing and supersede older scripts.
Darwin Release Notes 2007-10-31
CD-ROM Driver Calls (HTML)
Deprecated - DV22: Discusses public interface to Apple CD-ROM driver and supersedes information in AppleCD SC Developer's Guide.
Darwin Technical Notes 2000-08-14
CFLocalServer (HTML) (DMG) (ZIP)
Uses UNIX domain sockets to communicate between client and server programs on the same machine.
Darwin Sample Code 2005-07-26
CFProxySupportTool (HTML) (DMG) (ZIP)
Shows how to use the CFProxySupport APIs to decide whether a network connection should pass through a proxy.
Darwin Sample Code 2007-10-29
CheckExecutableArchitecture (HTML) (DMG) (ZIP)
Determine whether a particular Mach-O executable contains a version suitable for executing on a given processor architecture.
Darwin Sample Code 2006-02-07
The "chosen" node in the device tree (HTML)
HW88: Describes how to find the "chosen" node in the Open firmware device tree.
Darwin Technical Q&As 2000-09-05
Code Signing Guide (HTML) (PDF)
Explains how you can sign your code and why you should.
Darwin Guides 2008-11-19
Code Signing Release Notes (HTML)
Darwin Release Notes 2007-10-31
Coding in the Kernel (HTML)
Considerations and caveats about programming in the kernel.
Darwin Guides 2005-11-09
Core Endian Reference (HTML) (PDF)
Describes the C API for creating and installing callbacks to byte swap custom data.
Darwin Reference 2007-05-29
Cross-Development Programming Guide (HTML) (PDF)
Explains how to build software for versions of Mac OS X other than the one the development tools are running on.
Darwin Guides 2006-11-07
CryptNoMore (HTML) (DMG) (ZIP)
Shows how to authenticate a user using Open Directory (Directory Services).
Darwin Sample Code 2008-03-17
CryptoSample (HTML) (DMG) (ZIP)
Contains sample code showing symmetric encryption and message digest calculation.
Darwin Sample Code 2003-02-06
Customizing Process Stack Size (HTML)
QA1419: Describes methods for setting the stack size of a process and/or thread.
Darwin Technical Q&As 2008-02-20
Daemons and Agents (HTML)
TN2083: Describes the most common problems encountered with daemons and agents, and suggests detailed solutions.
Darwin Technical Notes 2007-11-05
Darwin Notification API Reference (HTML)
Describes the Darwin API for interprocess notification.
Darwin Reference 2008-04-08
Descriptor Passing Problems (HTML)
QA1541: Describes how to work around common problems with descriptor passing.
Darwin Technical Q&As 2007-10-29
Determining console user login status (HTML)
QA1133: How to determine whether a user is logged in on the console, and be notified of changes.
Darwin Technical Q&As 2008-04-14
Developing Cross-Platform UNIX Applications with Mac OS X (HTML)
Learn tips for developing code on Mac OS X for deployment on other UNIX platforms.
Darwin Articles 2004-08-30
Developing for VFS (HTML) (日本語 HTML)
QA1242: Describes Apple's position on developing external file systems (VFS plug-ins) for Mac OS X.
Darwin Technical Q&As 2006-12-22
Device File Access Guide for Serial Devices (HTML) (PDF)
Guidelines for using I/O Kit and POSIX functions to develop applications that communicate with serial devices.
Darwin Guides 2005-12-06
Device File Access Guide for Storage Devices (HTML) (PDF)
Guidelines for using I/O Kit and POSIX functions to develop applications that communicate with storage devices.
Darwin Guides 2007-03-06
Directories Appear as Volume Aliases (HTML)
QA1351: Discusses how VFS plug-ins should handle device numbers to ensure compatibility with Carbon applications.
Darwin Technical Q&As 2004-05-25
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.
Darwin Technical Q&As 2008-09-16
Discovering all advertised Bonjour service types (HTML)
QA1337: Explains how to discover all Bonjour service types being advertised on the local network.
Darwin Technical Q&As 2004-06-01
Disk Arbitration Framework Reference (HTML)
Describes Disc Arbitration API, which includes information on mount/unmount notification and dissent.
Darwin Reference 2008-04-08
dist_fft (HTML) (DMG) (ZIP)
Gigaelement FFTs on Apple G5 clusters
Darwin Sample Code 2004-08-23
DNS Service Discovery C Reference (HTML)
Describes the DNS Service Discovery API for implementing Bonjour in an application.
Darwin Reference 2008-04-23
DNSServiceMetaQuery (HTML) (DMG) (ZIP)
Shows how to discover Bonjour service types being advertised on the local network.
Darwin Sample Code 2005-06-01
The dreaded "incompatible flag -framework" error (HTML)
QA1096: Explains how to eliminate the incompatible flag -framework error in Project Builder.
Darwin Technical Q&As 2001-12-05
Driver Tuning on Panther or G5 (HTML) (日本語 HTML)
TN2090: Describes potential issues when using drivers in Panther or later, or on a Power Macintosh G5.
Darwin Technical Notes 2003-06-24
Dynamic Library Programming Topics (HTML) (PDF)
Explains how to design, implement, and use dynamic libraries.
Darwin Guides 2009-02-26
EmptyFS (HTML) (DMG) (ZIP)
A very simple VFS plug-in that mounts a volume that is completely empty.
Darwin Sample Code 2006-11-09
Energy Star PCI Device (HTML) (日本語 HTML)
QA1108: Provides useful information for developers of Energy Star-compliant PCI devices.
Darwin Technical Q&As 2002-01-15
ExpressCard Prevents System Sleep (HTML)
QA1517: Describes how some ExpressCard cards can prevent system sleep and how to fix the problem.
Darwin Technical Q&As 2007-02-28
File Manager Text Encoding Hints (HTML) (日本語 HTML)
QA1223: How to use Text Encoding Hints.
Darwin Technical Q&As 2003-01-20
File System Events Programming Guide (HTML) (PDF)
Explains how applications can detect changes in the file system.
Darwin Guides 2008-03-11