(Redirected from CoreFoundation)
CoreFoundation.framework | |
---|---|
Public Framework | |
Available | 1.0 – present |
Class Prefix | CF |
Official docs | Core Foundation |
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.
For one example of using CoreFoundation version numbers, see Updating extensions for iOS 7#Detecting iOS 7.
Versions
iOS | CoreFoundation version |
---|---|
2.0 | 478.23 |
2.1 | 478.26.1 |
2.2 | 478.29 |
3.0 | 478.47.7 |
3.1 | 478.52 |
3.2 | 478.61 |
4.0 | 550.32 |
4.1 | 550.38.1 |
4.2 | 550.52 |
4.3 | 550.58.1 |
5.0 | 675.00 |
5.1 | 690.10 |
6.0 | 793.00 |
6.1 | 793.00 |
7.0 | 847.20 |
7.0.3 | 847.21 |
7.1 | 847.24 |
7.1.2 | 847.27 |
8.0 | 1140.10 |
8.1 | 1141.14 |
8.2 | 1142.16 |
8.3 | 1144.17 |
8.4 | 1145.15 |
9.0 | 1240.10 |
9.1 | 1241.11 |
9.2 | 1242.13 |
9.3 | 1280.38 |
10.0 | 1348.00 |
10.1 | 1348.00 |
10.2 | 1348.22 |
10.3 | 1349.56 |
11.0 | 1443.00 |
11.1 | 1445.32 |
11.2 | 1450.14 |
11.3 | 1452.23 |
11.4 | 1452.23 |
12.0 | 1556.00 |
12.1 | 1560.10 |
12.2 | 1570.15 |
12.3 | 1575.13 |
12.4 | 1575.17 |
12.5 | 1575.23 |
13.0 | 1665.15 |
13.1 | 1671.101 |
13.2 | 1673.126 |
13.3 | 1674.102 |
13.4 | 1675.129 |
13.5 | 1676.104 |
13.6 | 1677.104 |
13.7 | 1677.104 |
14.0 | 1751.108 |
14.1 | 1751.108 |
14.2 | 1770.106 |
14.3 | 1770.300 |
14.4 | 1774.101 |
14.5 | 1775.118 |
14.6 | 1776.103 |
14.7 | 1777.103 |
14.8 | 1778.101 |
15.0 | 1854 |
15.1 | 1855.105 |
15.2 | 1856.105 |
15.3 | 1856.105 |
15.3.1 | 1856.107 |
15.4 | 1858.112 |
15.5 | 1863 |
15.6 | 1866 |
15.7 | 1866 |
15.8 | 1866 |
16.0 | 1946.102 |
16.1 | 1953.1 |
16.2 | 1953.300 |
16.3 | 1953.300 |
16.4 | 1971 |
16.5 | 1977 |
16.6 | 1979 |
16.7 | 1979.1.101 |
17.0 | 2048.1.101 |
17.1 | 2106 |
17.2 | 2202 |
17.3 | 2303 |
17.4 | 2420 |
17.5 | 2503.1 |
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[permanent dead link]
- ^ http://gcc.gnu.org/ml/gcc/2002-08/msg01225.html
- ^ http://developer.apple.com/library/mac/technotes/tn2004/tn2124.html#SECOBJECTIVEC
- ^ a b http://developer.apple.com/mac/library/technotes/tn2004/tn2124.html#SECFOUNDATION [Archived 2010-01-14 at the Wayback Machine]
- ^ http://www.cocoadev.com/index.pl?NSZombieEnabled [Archived 2009-12-24 at the Wayback Machine]
- ^ http://www.cocoadev.com/index.pl?CFZombie [Archived 2009-12-25 at the Wayback Machine]