CoreFoundation.framework | |
Public Framework | |
---|---|
Availabile | 1.0 – present |
Class Prefix | CF |
Headers | [headers.cynder.me] |
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 | 4.0 | 4.1 | 4.2 | 4.3 | 5.0 | 6.0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
SourceCache version | 478.23 | 478.26.1 | 478.29 | 478.47.7 | 478.52 | 478.61 | 550.32 | 550.38.1 | 550.52 | 550.58.1 | ? | ? |
dylib version | 478.23 | 478.26.1 | 478.29 | 478.47.7 | 478.52 | 478.61 | 550.32 | 550.38.1 | 550.52 | 550.58.1 | 675.00 | 793.00 |
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 | Default | Purpose |
---|---|---|
__CF_USER_TEXT_ENCODING[1] | 0x1f5:0:0 (mobile) or 0x0:0:0 (root) | Override the default text encoding. |
CFFIXED_USER_HOME | NULL | The home directory recognized by CoreFoundation. (Note that the system environment variable HOME is also in use.) |
CFPREFERENCES_LOG_EQUAL_VALUES | false | Displays a debug-level log when trying to set an unmodified value in preferences (NSUserDefaults). |
CFBundleDisableStringsSharing | false | Do not share *.strings files. (?) |
IPHONE_SIMULATOR_DEVICE | iPhone | Used by the internal _CFGetProductName to get the current platform. This environment variable will be checked only when sysctl hw.machine returns a value other than iPhone, iPod or iPad (what about AppleTV?). |
CFPropertyListAllowImmutableCollections | false | Force collections (array, dictionary) parsed from property lists to be immutable. |
CFUUIDVersionNumber[2] | 4 | UUID version to use. Only supports 1 or 4. |
__CF_DEBUG_EXPANDED_SET CFCharacterSetCheckForExpandedSet |
false | Enable check for expanded character sets. When an expanded set is detected, a warning "An expanded CFMutableCharacter has been detected. Recommend to compact with CFCharacterSetCreateCopy" will be printed. |
OAKeepAllocationStatistics[3] | false | ? |
NSObjCMessageLoggingEnabled[4] | no | - |
NSZombieEnabled[5][6] | no | Use "zombies" for easier detection on misusing deallocated objects. |
NSDeallocateZombies[5] | no | |
CFZombieLevel[7] | 0 | |
CFStringDisableROM | false | ? |
CFLOG_FORCE_STDERR | false | Stream error from CFLog to stderr too. |
CFNETWORK_LIBRARY_PATH | /System/Library/Frameworks/CFNetwork.framework/CFNetwork | Manually set the path of the CFNetwork binary. |
NSAutoreleaseHaltOnFreedObject | no | Kill the process immediately when calling -autorelease on a freed object. |
NSAutoreleaseHaltOnNoPool | no | Kill the process immediately when calling -autorelease without a pool. |
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. |
USER HOME PATH DYLD_IMAGE_SUFFIX TZFILE TZ |
- | Various CF functions depend on these info. |
References
- ↑ http://developer.apple.com/library/mac/technotes/tn2228/_index.html#//apple_ref/doc/uid/DTS40007991-CH1-SUBSECTION15
- ↑ http://www.monen.nl/DevDoc/releasenotes/CoreFoundation/RN-CoreFoundation/index.html#//apple_ref/doc/uid/TP40000994-DontLinkElementID_4
- ↑ http://gcc.gnu.org/ml/gcc/2002-08/msg01225.html
- ↑ http://developer.apple.com/library/mac/technotes/tn2004/tn2124.html#SECOBJECTIVEC
- ↑ 5.0 5.1 http://developer.apple.com/mac/library/technotes/tn2004/tn2124.html#SECFOUNDATION
- ↑ http://www.cocoadev.com/index.pl?NSZombieEnabled
- ↑ http://www.cocoadev.com/index.pl?CFZombie
|