CoreFoundation.framework

From iPhone Development Wiki
Revision as of 17:53, 7 April 2010 by KennyTM~ (talk | contribs) (Versions)
Jump to: navigation, search
CoreFoundation.framework
Public Framework
Availabile 1.0 – present
Class Prefix CF


CoreFoundation is a cross-platform C-based API that provides reference-counted data structures, IPC facilities, run loops, etc. A subset of it is open-sourced as "CF-Lite".

This framework also provides some crucial Objective-C classes such as NSObject, NSString, NSArray, etc.

Versions

Firmware 2.0 2.1 2.2 3.0 3.1 3.2
SourceCache version 478.23 478.26.1 478.29 478.47.7 478.52 478.61
dylib version 478.23 478.26.1 478.29 478.47.7 478.52 478.61

Parameters for CoreFoundation applications

CoreFoundation recognizes the following special command-line arguments:

Flag Purpose
-AppleLanguages "(lang1, lang2, ...)" Set the list of languages for localization.

Environment variables

Application built with CoreFoundation will recognize the following environment variables

Name Purpose
NSZombieEnabled[1][2]
NSDeallocateZombies[1]
CFZombieLevel[3]
Use "zombies" for easier detection on misusing deallocated objects.
__CF_DEBUG_EXPANDED_SET
CFCharacterSetCheckForExpandedSet
Enable check for expanded character sets. When an expanded set is detected, a message "An expanded CFMutableCharacter has been detected. Recommend to compact with CFCharacterSetCreateCopy" will be printed.
CFBundleUseDYLD Use low-level dyld(3) functions instead of dlopen(3)/etc. to check if a bundle is loaded or not.
CFProcessPath Manually set the process path.
OAKeepAllocationStatistics[4] ?
CFBundleDisableStringsSharing Do not share .strings files. (?)
CFPropertyListAllowImmutableCollections Force collections (array, dictionary) parsed from property lists to be immutable.
USER
HOME
PATH
DYLD_IMAGE_SUFFIX
Various CF functions depend on these info.
CFFIXED_USER_HOME Manually set the home directory.
CFUUIDVersionNumber[5] UUID version to use. Only supports 1 or 4.
CFLOG_FORCE_STDERR Stream error from CFLog to stderr too.
TZFILE
TZ
Timezone info.
CFNETWORK_LIBRARY_PATH Manually set the path of the CFNetwork binary.

References