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.

Name: Help file
Property List Key CFBundleAllowMixedLocalizations

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

Name: Localized resources can be mixed
Property List Key CFBundleDevelopmentRegion

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

Name: Localization native development region
Property List Key CFBundleDisplayName

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

Name: Bundle display name
Property List Key CFBundleDocumentTypes

The document types supported by the bundle.

Name: Document types
Property List Key CFBundleExecutable

The name of the bundle’s executable file.

Name: Executable file
Property List Key CFBundleHelpBookFolder

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

Name: Help Book directory name
Property List Key CFBundleHelpBookName

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

Name: Help Book identifier
Property List Key CFBundleIconFile

The file containing the bundle's icon.

Name: Icon file
Property List Key CFBundleIconFiles

The names of the bundle’s icon image files.

Name: Icon files
Property List Key CFBundleIconName

The name of the asset that represents the app icon.

Name: Icon Name
Property List Key CFBundleIcons

Information about all of the icons used by the app.

Name: Icon files (iOS 5)
Property List Key CFBundleIdentifier

A unique identifier for a bundle.

Name: Bundle identifier
Property List Key CFBundleInfoDictionaryVersion

The current version of the property list structure.

Name: InfoDictionary version
Property List Key CFBundleLocalizations

The localizations handled manually by your app.

Name: Localizations
Property List Key CFBundleName

A human-readable short name for the bundle.

Name: Bundle name
Property List Key CFBundlePackageType

The type code for the bundle.

Name: Bundle OS Type code
Property List Key CFBundleShortVersionString

Your release or version number for the bundle.

Name: Bundle versions string, short
Property List Key CFBundleSpokenName

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

Name: Accessibility Bundle Name
Property List Key CFBundleURLTypes

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

Name: URL types
Property List Key CFBundleVersion

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

Name: Bundle version
Property List Key CFPlugInDynamicRegisterFunction

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

Name: Plug-in dynamic registration function name
Property List Key CFPlugInDynamicRegistration

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

Name: Plug-in should be registered dynamically
Property List Key CFPlugInFactories

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

Name: Plug-in factory interfaces
Property List Key CFPlugInTypes

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

Name: Plug-in types
Property List Key CFPlugInUnloadFunction

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

Name: Plug-in unload function name
Property List Key CSResourcesFileMapped

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

Name: Resources should be file-mapped