/System/Library/Frameworks

From The iPhone Wiki
Revision as of 22:53, 20 October 2013 by Britta (talk | contribs) (Public Frameworks: adding link to CoreTelephony article)
Jump to: navigation, search

A framework is a dynamic library and resources for that library, such as images and localization strings. Frameworks have the file extension .framework.

In iOS there are two kinds of frameworks: public frameworks and private frameworks. Public frameworks are allowed to be used in App Store apps. Private frameworks are intended to be used only by Apple's apps, and are more unstable against firmware changes, but many of the interesting features are in the private frameworks.

Since iOS 3.1, all default (private and public) 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.

Public Frameworks

Resources for public frameworks can be found inside /System/Library/Frameworks.

Framework 4.x 5.x 6.x 7.x Prefix Language Description
Accelerate Yes Yes Yes Yes cblas, vDSP C Vector and Matrix math, digital signal processing, large number handling, and image processing
Accounts No Yes Yes Yes AC Obj-C Provides access to accounts in the Accounts database. Allows creation of accounts if none exsist. Only Twitter is avaliable in iOS 5.0 and later.
AddressBook Yes Yes Yes Yes AB Obj-C Provides access to the Address Book database.
AddressBookUI Yes Yes Yes Yes
AdSupport No No Yes Yes AS Obj-C Provides access to identifiers for serving adverts and a flag that indicates if limited tracking is on.
AppleBasebandManager No No No Yes
AssetsLibrary Yes Yes Yes Yes AL Obj-C Used to access pictures and videos managed by the Photos application.
AudioToolbox Yes Yes Yes Yes AU, Audio -- Provides interfaces for recording, playback, stream parsing, and managing audio sessions. Part of CoreAudio
AudioUnit Yes Yes Yes Yes AU, Audio -- Interfaces for the loading of audio units and their use.
AVFoundation Yes Yes Yes Yes AV Obj-C Used for playing and recording audio and video.
CFNetwork Yes Yes Yes Yes CF C Intefaces for high-performance networking.
CoreAudio Yes Yes Yes Yes Audio C++ Declares constants and data-types used by other interfaces in CoreAudio.
CoreBluetooth No Yes Yes Yes CB Obj-C Provides access to Bluetooth peripherals (hardware).
CoreData Yes Yes Yes Yes NS Obj-C Interfaces for application data model manipulation.
CoreFoundation Yes Yes Yes Yes CF C Basic data management and services
CoreGraphics Yes Yes Yes Yes CG C APIs to interface with the Quartz engine, allows 2D rendering, etc.
CoreImage No Yes Yes Yes CI Obj-C Interfaces for manipulating images and video.
CoreLocation Yes Yes Yes Yes CL Obj-C Iterfaces for determining location.
CoreMedia Yes Yes Yes Yes CM C Low-level routines for manipulating audio and video.
CoreMIDI Yes Yes Yes Yes MIDI Obj-C Routines for handling MIDI data. Only avaliable on iOS 4.2 and later. Part of Core Audio.
CoreMotion Yes Yes Yes Yes CM Obj-C, C++ Iterfaces for accessing acceleromtere and gyrometric data.
CoreTelephony (CoreTelephony) Yes Yes Yes Yes CT Obj-C Allows access to Carrier information and information pertaining to a current call.
CoreText Yes Yes Yes Yes CT C++ Text layout and rendering engine.
CoreVideo Yes Yes Yes Yes CV -- Low-level routines for manipulating audio and video - Apple advises not to use this framework directly, and although public doesn't document much of it.
EventKit Yes Yes Yes Yes EK Obj-C Interfaces for accessing Calendar event data. This is a replacement for the older Calendar.framework.
EventKitUI Yes Yes Yes Yes EK Obj-C Classes for system graphical interfaces.
ExternalAccessory Yes Yes Yes Yes EA Obj-C Interfaces for communication with attached external accessories via 30-pin dock or BlueTooth, Lightning is not yet mentioned by Apple in documentation.
Foundation Yes Yes Yes Yes NS Obj-C Objetive-C wrappers to features found in CoreFoundation with extra features and functionality not covered by Objetive-C
GameController No No No Yes
GameKit Yes Yes Yes Yes GK Obj-C Manages P2P connectivity. With iOS 4.1 and later, GameKit can be used with Game Center (an extension to the framework) to create social games.
GLKit No Yes Yes Yes GLK Obj-C Utility classes for building OpenGL ES applications.
GSS.framework No Yes Yes Yes gss -- Security related services - Apple advises to look at the headers as they provide no documentation.
iAD Yes Yes Yes Yes AD Obj-c Classes for displaying advertisements
ImageIO Yes Yes Yes Yes CG C++ Input and output for images. Part of CoreGraphics
IOKit Yes Yes Yes Yes -- C++ Low-level framework for communicating with the kernel and hardware. Apple advises not to use this framework directly and will reject it from the AppStore.
JavaScriptCore No No No Yes
MapKit Yes Yes Yes Yes MK Obj-C Classes for embedding Map graphical interfaces. Pre iOS 5.1 Google Mobile Maps is used to provide map data, post iOS 5.1 Apple provides the map data.
MediaAccessibility No No No Yes
MediaPlayer Yes Yes Yes Yes MP Obj-C Provides facilities to play audio, and video. Also allows access to the iPod or 'Music' library.
MediaToolbox No No Yes Yes MT C++ Apple has no reference as of writing, headers appear to suggest audio processing.
MessageUI Yes Yes Yes Yes MF Obj-C Interfaces for SMS and Mail compose view controller without leaving the application.
MobileCoreServices Yes Yes Yes Yes UT C Defines UTIs supported by the system.
MultipeerConnectivity No No No Yes
NewsstandKit No Yes Yes Yes NK Obj-C Interfaces for downloading Newsstand application content.
OpenAL Yes Yes Yes Yes AL C++ Interface for the cross-platform audio library
OpenGLES Yes Yes Yes Yes EAGL, GL C Interface for the OpenGL ES library.
PassKit No No Yes Yes PK Obj-C Interfaces for creation of Passes for Passbook.app.
QuartzCore Yes Yes Yes Yes CA Obj-C Contains the CoreAntimation interfaces
QuickLook Yes Yes Yes Yes QL Obj-C Interfaces for previewing files of formats you don't handle.
SafariServices No No No Yes
Security Yes Yes Yes Yes CSSM, Sec Obj-C Interfactes for managing keys, trust policies, and certificates.
Social No No Yes Yes SL Obj-C Interfaces for interacting with social accounts. Currently they are Facebook, Twitter, and Sina Weibo.
SpriteKit No No No Yes
StoreKit Yes Yes Yes Yes SK Obj-C Interfaces for handling the transactions in in-app purchases.
System Yes Yes Yes Yes
SystemConfiguration Yes Yes Yes Yes SC C++ Iterfaces for determining network avaliablity.
Twitter No Yes Yes Yes TW Obj-C Interfaces for sending tweets. In iOS 6.0 and later this should be replaced by Social.framework as it will eventually be deprecated.
UIKit Yes Yes Yes Yes UI Obj-C Classes for iOS UI elements and for the user interface layer of applciations.
VideoToolbox No No Yes Yes -- -- Interfaces used by the device. Apple states not to include this framework directly.

Private Frameworks

Resources for private frameworks can be found inside /System/Library/PrivateFrameworks. The descriptions may be incorrect, since most frameworks are not documented after all.

Framework Description
FaceCoreLight Face recognition.
Internal Preferences Internal Settings.bundle relies on this framework.
FTServices FaceTime / iMessage auth framework.
AXRuntime Accessibility.
GPUSupport Used extensively by the user-mode porion of the PowerVR drivers.
H4ISPServices Interface to the camera driver on H4 (Apple A5)
Twitter Apple's twitter implementation in iOS 5.
OpenCL Apple's implementation of Khronos' OpenCL.
XPCObjects An Objective-C wrapper of the XPC interprocess communication interface.
AppleSerialMultiplexer An interface to the multiplexer daemon.

Files

  • (none)

Parents

Root/System/Library