Jump To:
Leopard Reference Library
Core Foundation is a framework that provides fundamental software services. Developers can use Core Foundation to build cross-platform applications and can share code and data among frameworks, libraries, and applications. Core Foundation provides abstractions for common data types, facilitates internationalization through Unicode string storage, and offers a suite of utilities.

A guided introduction and learning path for developers new to Core Foundation.   Essential information for developers using the Core Foundation framework.   C API references organized by framework.
Document Descriptions
On Off
Display

Sorted by
Title
Sort by
Topic
Sort by
Resource Type
Sort by
Date
CoreFoundation Framework Release Notes (HTML)
Design Guidelines, Performance Release Notes 2007-10-31
CoreTextArc (HTML) (DMG) (ZIP)
Illustrates the use of fonts, lines, and runs in a CoreText text drawing Carbon application.
Text & Fonts Sample Code 2007-06-04
CoreTextTest (HTML) (DMG) (ZIP)
Shows how to handle the CoreText objects to display text.
Text & Fonts Sample Code 2006-12-19
Creating Cross-Platform Applications with Core Foundation and Open Source (HTML)
Learn how to import and export data types across a range of platforms using CF-Lite.
Design Guidelines Articles 2005-04-11
Daemons and Agents (HTML)
TN2083: Describes the most common problems encountered with daemons and agents, and suggests detailed solutions.
Process Management Technical Notes 2007-11-05
Data Formatting Guide for Core Foundation (HTML) (PDF)
Explains how to use Core Foundation formatters to create and validate text in text fields and other cells.
Data Management Guides 2006-12-21
Dates and Times Programming Guide for Core Foundation (HTML) (PDF)
Explains how to manage Core Foundation dates and times.
Data Management, Internationalization Guides 2005-08-11
Debugging Programming Topics for Core Foundation (HTML) (PDF)
Tips and techniques for debugging Core Foundation code.
Performance Guides 2003-01-17
Designing Network-Friendly Applications (HTML)
Learn to make your application management-aware and reliably accessible on a network.
Design Guidelines Articles 2005-10-24
Dictionary Services Programming Guide (HTML) (PDF)
Explains how to create a dictionary and access it programmatically.
Text & Fonts Guides 2007-05-30
Dictionary Services Reference (HTML) (PDF)
Describes the Objective-C and C routines that support programmatic access to dictionaries.
Text & Fonts Reference 2007-05-29
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 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.
Networking Technical Q&As 2004-06-01
DisplayURL (HTML) (DMG) (ZIP)
Parses a passed in path URL into its various components displaying server information.
File Management Sample Code 2005-10-04
DNSServiceMetaQuery (HTML) (DMG) (ZIP)
Shows how to discover Bonjour service types being advertised on the local network.
Networking Sample Code 2005-06-01
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
EventMonitorTest (HTML) (DMG) (ZIP)
Receive notification of all keyboard, mouse, and tablet events passed to other processes.
Events & Other Input Sample Code 2005-11-09
Expanding Tilde-based paths (HTML)
QA1549: Demonstrates how to resolve tilde-based relevant paths.
File Management Technical Q&As 2008-09-08
File System Events Programming Guide (HTML) (PDF)
Explains how applications can detect changes in the file system.
File Management Guides 2008-03-11
File-System Performance Guidelines (HTML) (PDF)
Guidelines for improving the performance of file-related code.
Performance Guides 2005-07-07
FileNotification (HTML) (DMG) (ZIP)
kqueue file notification introduced in 10.3. Notification API to detect file system modifications.
File Management Sample Code 2005-10-27
filesystem_examples (HTML) (DMG) (ZIP)
Collection of command line tools illustrating filesystem features.
File Management Sample Code 2006-01-10
Frequently Asked Text Services Manager (TSM) Questions (HTML)
TN2128: Regroups a collection of Text Services Manager (TSM) questions frequently asked by Input Method Developers
Events & Other Input, Text & Fonts Technical Notes 2005-06-24
FSCopyObject (HTML) (DMG) (ZIP)
Copy engine for copying files and directories.
File Management Sample Code 2004-03-19
FSEvents Reference (HTML)
Describes the API used to provide lightweight notification of directory changes in a file-system subtree.
File Management Reference 2008-04-08
FSMegaInfo (HTML) (DMG) (ZIP)
Prints information about various file system objects; helpful when debugging VFS plug-ins.
File Management Sample Code 2008-02-25
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
Getting the User and Computer Name (HTML)
QA1078: Describes how to get the user and computer name on Mac OS X.
Networking Technical Q&As 2001-10-30
HID Manager Event Data Underruns (HTML)
QA1038: Explains how to correctly handle HID Manager event queue data underruns.
Process Management Technical Q&As 2001-06-13
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.
Process Management Technical Q&As 2006-11-07
Identity Services Programming Guide (HTML) (PDF)
Explains how identities work and how to use them in applications.
Networking Guides 2008-10-15
Identity Services Reference Collection (HTML) (PDF)
Describes the APIs for using identities and the Identity Picker.
Networking Reference 2007-05-14
IdentitySample (HTML) (DMG) (ZIP)
IdentitySample builds a utility which demonstrates how to use the CoreServices Identity API to manage system-wide identities
Data Management Sample Code 2006-07-27
ImageClient (HTML) (DMG) (ZIP)
Demonstrates how to use CFNetwork for synchronous and asynchronous operations, network diagnostics, proxy navigation, and authentication.
Networking Sample Code 2005-06-01
InkSample (HTML) (DMG) (ZIP)
Demonstrates some usage scenarios for the Ink.Framework APIs.
Text & Fonts Sample Code 2003-10-27
Internationalization Programming Topics (HTML) (PDF)
Explains how to support multiple languages in software.
Internationalization Guides 2009-01-06
Internet Connect Speed (HTML) (日本語 HTML)
QA1165: Describes how to get the modem connection speed from the System Configuration framework dynamic store.
Networking Technical Q&As 2003-03-26
JavaScriptCore Framework Reference (HTML)
Describes the API for evaluating JavaScript programs from within a C-based program
Internet & Web Reference 2008-04-08
Launch Time Performance Guidelines (HTML) (PDF)
Guidelines for improving the launch performance of an application.
Performance Guides 2006-04-04
Locales Programming Guide (HTML) (PDF)
Explains how to use locales to retrieve, interpret, and display localized information in Core Foundation.
Design Guidelines, Internationalization Guides 2008-10-15
LocalServer (HTML) (DMG) (ZIP)
Deprecated - Sample demonstrates how a Classic process can communicate with a Mac OS X process using IP networking protocols.
Networking Sample Code 2003-01-30
ManagedObjectDataFormatter (HTML) (DMG) (ZIP)
A Data Formatter for Xcode 2.0 and 2.1 that displays NSManagedObject * variables.
Data Management Sample Code 2005-06-01
MapLargeFile (HTML) (DMG) (ZIP)
Shows a technique for mapping files greater than 4GB into memory for faster access.
Resource Management Sample Code 2003-11-19
Memory Management Programming Guide for Core Foundation (HTML) (PDF)
Explains how to allocate and deallocate objects in Core Foundation.
Resource Management Guides 2008-10-15
Memory Usage Performance Guidelines (HTML) (PDF)
Guidelines for improving the performance of memory-related code.
Performance Guides 2006-06-28
MoreIsBetter (HTML) (DMG) (ZIP)
Library providing indispensable wrapers and workarounds for many areas of Mac OS programming.
Data Management, File Management, Networking, Resource Management Sample Code 2003-10-27
NamingTableAccess (HTML) (DMG) (ZIP)
Digs out the contents of the NamingTable in a TrueType 'sfnt'.
Text & Fonts Sample Code 2003-01-14
NSHost Class Reference (HTML) (PDF)
Describes a representation of a network host.
Networking Reference 2007-03-24
Observing Process Lifetimes Without Polling (HTML)
TN2050: Shows a variety of methods to observe process lifetimes without polling.
Process Management 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.
Process Management, Resource Management Technical Q&As 1997-10-13
PasteboardPeeker (HTML) (DMG) (ZIP)
Using pasteboards for Copy and Paste, Drag and Drop, service support and filter services.
Text & Fonts Sample Code 2005-08-10
Performance Overview (HTML) (PDF)
Introduces the factors that determine performance.
Performance Guides 2006-10-03
Plug-ins (HTML) (PDF)
Explains how to use the plug-in architecture provided by Core Foundation.
Process Management 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.
Events & Other Input, Process Management Technical Q&As 2002-02-13
The Preferences Problem (HTML) (日本語 HTML)
Deprecated - TN1134: Outlines typical problems with preferences files and some of their solutions.
Resource Management Technical Notes 1998-10-01
Preferences Programming Topics for Core Foundation (HTML) (PDF)
Explains how to manage Core Foundation user preferences.
Data Management Guides 2006-10-03
Preferences Utilities Reference (HTML) (PDF)
Describes Core Foundation preferences functions.
General 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.
Networking 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.
Events & Other Input, Process Management, Resource Management 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.
Data Management 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.
Data Management Guides 2006-02-07
RecentItems (HTML) (DMG) (ZIP)
Implements "Recent items" menu(s)
Data Management 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.
Resource Management 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.
Networking 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.
Resource Management Guides 2009-01-06
Setting environment variables for user processes (HTML)
QA1067: Tells how to set environment variables for user processes.
Data Management, Design Guidelines, Process Management, Resource Management 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.
Networking Sample Code 2005-07-26
SimpleReach (HTML) (DMG) (ZIP)
Demonstrates network host reachability testing using the System Configuration framework asynchronous network reachability API.
Networking 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.
General Reference 2006-10-27
Spotlight (HTML) (DMG) (ZIP)
Sample code that shows how to write Spotlight Importers.
File Management Sample Code 2005-06-01
Spotlight Importer Programming Guide (HTML) (PDF)
Describes the role of metadata importers and how to write them.
File Management Guides 2007-05-27
Spotlight Metadata Attributes Reference (HTML) (PDF)
Describes metadata attributes used with Spotlight.
File Management Reference 2007-05-22
Spotlight Overview (HTML) (PDF)
Introduces the main components and services of Apple's metadata technology.
Design Guidelines Guides 2007-05-27
Spotlight Query Programming Guide (HTML) (PDF)
Describes how to add Spotlight searching to your applications.
File Management 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.
Data Management, Internationalization 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.
Networking Technical Q&As 1996-10-25
Threading Programming Guide (HTML) (PDF)
Explains how to use threads in Cocoa applications.
Performance, Process Management 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.
File Management Articles 2004-10-07
Time Utilities Reference (HTML) (PDF)
Describes Core Foundation time functions.
General 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.
Networking 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.
Networking 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.
Text & Fonts Technical Q&As 2005-02-11
Using Secure Event Input Fairly (HTML)
TN2150: Describes the proper use of EnableSecureEventInput.
Events & Other Input Technical Notes 2007-06-08
Watcher (HTML) (DMG) (ZIP)
Uses FSEvents to monitor a directory hierarchy to keep track of its total size
Events & Other Input, File Management Sample Code 2006-08-04
Web Services Core Framework Reference (HTML)
Describes the client-side APIs for accessing web services.
Internet & Web Reference 2009-01-06
Xcode Unit Testing Guide (HTML) (PDF)
Explains how to incorporate test cases to validate individual units of source code.
Design Guidelines Guides 2008-05-02
XML Programming Topics for Core Foundation (HTML) (PDF)
Explains how to parse XML documents into structured objects.
Data Management, Internet & Web Guides 2008-10-15