Core Foundation

Access low-level functions, primitive data types, and various collection types that are bridged seamlessly with the Foundation framework.


Core Foundation is a framework that provides fundamental software services useful to application services, application environments, and to applications themselves. Core Foundation also provides abstractions for common data types, facilitates internationalization with Unicode string storage, and offers a suite of utilities such as plug-in support, XML property lists, URL resource access, and preferences.

For more about Core Foundation, see Core Foundation Design Concepts.


Opaque Types


The CFFileDescriptor provides an opaque type to monitor file descriptors for read and write activity via CFRunLoop.


CFStringTokenizer allows you to tokenize strings into words, sentences or paragraphs in a language-neutral way. It supports languages such as Japanese and Chinese that do not delimit words by spaces, as well as de-compounding German compounds. You can obtain Latin transcription for tokens. It also provides language identification API.



This document describes the generic CFStream functions, data types, and constants. See also CFReadStream and CFWriteStream for functions and constants specific to read and write streams respectively.


class CFFileSecurity

Encapsulates a file system object’s security information in a Core Foundation object.

class CFURLEnumerator

A reference to a CFURLEnumerator object.

Property List Keys

Property List Key CFAppleHelpAnchor

The name of the bundle’s HTML help file.

Property List Key CFBundleAllowMixedLocalizations

A Boolean value that indicates whether the bundle supports the retrieval of localized strings from frameworks.

Property List Key CFBundleDevelopmentRegion

The default language and region for the bundle, as a language ID.

Property List Key CFBundleDisplayName

The user-visible name of the bundle; used by Siri and visible on the iOS Home screen.

Property List Key CFBundleDocumentTypes

The document types supported by the bundle.

Property List Key CFBundleExecutable

The name of the bundle’s executable file.

Property List Key CFBundleHelpBookFolder

The name of the folder containing the bundle’s help files.

Property List Key CFBundleHelpBookName

The name of the help file that will be opened in Help Viewer.

Property List Key CFBundleIconFile

The file containing the bundle's icon.

Property List Key CFBundleIconFiles

The names of the bundle’s icon image files.

Property List Key CFBundleIconName

The name of the asset that represents the app icon.

Property List Key CFBundleIcons

Information about all of the icons used by the app.

Property List Key CFBundleIdentifier

A unique identifier for a bundle.

Property List Key CFBundleInfoDictionaryVersion

The current version of the property list structure.

Property List Key CFBundleLocalizations

The localizations handled manually by your app.

Property List Key CFBundleName

A human-readable short name for the bundle.

Property List Key CFBundlePackageType

The type code for the bundle.

Property List Key CFBundleShortVersionString

Your release or version number for the bundle.

Property List Key CFBundleSpokenName

A replacement for the app name in text-to-speech operations.

Property List Key CFBundleURLTypes

A list of URL schemes (http, ftp, and so on) supported by the app.

Property List Key CFBundleVersion

The build version number of the bundle; it identifies an iteration (released or unreleased) of the bundle.

Property List Key CFPlugInDynamicRegisterFunction

The function to use when dynamically registering a plug-in.

Property List Key CFPlugInDynamicRegistration

A Boolean value indicating whether the host loads this plug-in.

Property List Key CFPlugInFactories

The interfaces supported by the plug-in for static registration.

Property List Key CFPlugInTypes

One or more groups of interfaces supported by the plug-in for static registration.

Property List Key CFPlugInUnloadFunction

The name of the function to call to unload the plug-in code from memory.

Property List Key CSResourcesFileMapped

A Boolean value indicating whether the app's resources files should be mapped into memory.