Dev:Frameworks

Frameworks are bundles that contain a linkable library (usually a dylib) and the associated resources and headers for development.

There are “public” and “private” frameworks. The former are usually well documented and prepared for use by general developers, while the latter are (supposed to be) restricted for internal use only. Public frameworks can be found in /System/Library/Frameworks, and private ones in /System/Library/PrivateFrameworks. Other than this artificial division, there are no differences between public and private frameworks.

Since iOS 3.1, all default (public and private) libraries have been combined into a big cache file in /System/Library/Caches/com.apple.dyld/dyld_shared_cache_armv6 (or _armv7) to improve performance. See dyld_shared_cache. The original libraries are no longer useful for non-on-device-developers, so they are eliminated from the system. The framework folders still contain other resources, such as localization strings.

Frameworks have an extension of .framework. Headers, if any, are stored in a subdirectory called Headers.

List of frameworks
See /System/Library/Frameworks on TheiPhoneWiki for another list.

The following list reflects the state of public frameworks as of iOS 4.0 (8A293):


 * AVFoundation.framework (com.apple.avfoundation)
 * Accelerate.framework (com.apple.Accelerate)
 * AddressBook.framework (com.apple.AddressBook)
 * AddressBookUI.framework (com.apple.AddressBookUI)
 * AssetsLibrary.framework (com.yourcompany.AssetsLibrary)
 * AudioToolbox.framework (com.apple.audio.toolbox.AudioToolbox)
 * AudioUnit.framework (com.apple.audio.units.AudioUnit)
 * CFNetwork.framework (com.apple.CFNetwork)
 * CoreAudio.framework (com.apple.audio.CoreAudio)
 * CoreData.framework (com.apple.CoreData)
 * CoreFoundation.framework (com.apple.CoreFoundation)
 * CoreGraphics.framework
 * CoreLocation.framework (com.apple.corelocation)
 * CoreMedia.framework (com.apple.CoreMedia)
 * CoreMotion.framework (com.apple.coremotion)
 * CorePDF.framework (com.apple.CorePDF)
 * CoreTelephony.framework (com.apple.coretelephony)
 * CoreText.framework (com.apple.CoreText)
 * CoreVideo.framework (com.apple.CoreVideo)
 * EventKit.framework (com.apple.eventkit)
 * EventKitUI.framework (com.apple.eventkitui)
 * ExternalAccessory.framework (com.apple.ExternalAccessory)
 * Foundation.framework (com.apple.Foundation)
 * GameKit.framework (com.apple.GameKit)
 * IOKit.framework
 * ImageIO.framework (com.apple.ImageIO.framework)
 * MapKit.framework (com.apple.MapKit)
 * MediaPlayer.framework (com.apple.MediaPlayer)
 * MessageUI.framework (com.apple.messageui)
 * MobileCoreServices.framework (com.apple.MobileCoreServices)
 * OpenAL.framework (com.apple.audio.OpenAL)
 * OpenGLES.framework (com.apple.opengles)
 * QuartzCore.framework (com.apple.QuartzCore)
 * QuickLook.framework (com.apple.QuickLook)
 * Security.framework (com.apple.Security)
 * StoreKit.framework (com.apple.StoreKit)
 * System.framework
 * SystemConfiguration.framework (com.apple.SystemConfiguration)
 * UIKit.framework (com.apple.UIKit)
 * iAd.framework (com.apple.iAd)