iOS Reference Library Apple Developer
Search

iOS Frameworks

This appendix contains information about the frameworks of iOS. These frameworks provide the interfaces you need to write software for the platform. Where applicable, the tables in this index list any key prefixes used by the classes, methods, functions, types, or constants of the framework. You should avoid using any of the specified prefixes in your own symbol names.

Device Frameworks

Table B-1 describes the frameworks available for use in iOS–based devices. You can find these frameworks in the <Xcode>/Platforms/iPhoneOS.platform/Developer/SDKs/<iOS_SDK>/System/Library/Frameworks directory where <Xcode> is the path to your Xcode installation directory and <iOS_SDK> is the specific SDK version you are targeting. The "First available” column lists the iOS release in which the framework first appeared.

Table B-1  Device frameworks

Name

First available

Prefixes

Description

Accelerate.framework

4.0

cblas, vDSP

Contains accelerated math and DSP functions. See Accelerate Framework Reference.

AddressBook.framework

2.0

AB

Contains functions for accessing the user’s contacts database directly. See Address Book Framework Reference.

AddressBookUI.framework

2.0

AB

Contains classes for displaying the system-defined people picker and editor interfaces. See Address Book UI Framework Reference for iOS.

AssetsLibrary.framework

4.0

AL

Contains classes for accessing the user’s photos and videos. See Assets Library Framework Reference.

AudioToolbox.framework

2.0

AU, Audio

Contains the interfaces for handling audio stream data and for playing and recording audio. See Audio Toolbox Framework Reference.

AudioUnit.framework

2.0

AU, Audio

Contains the interfaces for loading and using audio units. See Audio Unit Framework Reference.

AVFoundation.framework

2.2

AV

Contains Objective-C interfaces for playing and recording audio. See AV Foundation Framework Reference.

CFNetwork.framework

2.0

CF

Contains interfaces for accessing the network via the WiFi and cellular radios. See CFNetwork Framework Reference.

CoreAudio.framework

2.0

Audio

Provides the data types used throughout Core Audio. See Core Audio Framework Reference.

CoreData.framework

3.0

NS

Contains interfaces for managing your application’s data model. See Core Data Framework Reference.

CoreFoundation.framework

2.0

CF

Provides fundamental software services, including abstractions for common data types, string utilities, collection utilities, resource management, and preferences. See Core Foundation Framework Reference.

CoreGraphics.framework

2.0

CG

Contains the interfaces for Quartz 2D. See Core Graphics Framework Reference.

CoreLocation.framework

2.0

CL

Contains the interfaces for determining the user’s location. See Core Location Framework Reference.

CoreMedia.framework

4.0

CM

Contains low-level routines for manipulating audio and video. See Core Media Framework Reference.

CoreMotion.framework

4.0

CM

Contains interfaces for accessing accelerometer and gyro data. See Core Motion Framework Reference.

CoreTelephony.framework

4.0

CT

Contains routines for accessing telephony-related information. See Core Telephony Framework Reference.

CoreText.framework

3.2

CT

Contains a text layout and rendering engine. See Core Text Reference Collection.

CoreVideo.framework

4.0

CV

Contains low-level routines for manipulating audio and video. Do not use this framework directly.

EventKit.framework

4.0

EK

Contains interfaces for accessing a user’s calendar event data. See Event Kit Framework Reference.

EventKitUI.framework

4.0

EK

Contains classes for displaying the standard system calendar interfaces. See Event Kit UI Framework Reference.

ExternalAccessory.framework

3.0

EA

Contains interfaces for communicating with attached hardware accessories. See External Accessory Framework Reference.

Foundation.framework

2.0

NS

Contains the classes and methods for the Cocoa Foundation layer. See Foundation Framework Reference.

GameKit.framework

3.0

GK

Contains the interfaces for managing peer-to-peer connectivity. See Game Kit Framework Reference.

iAd.framework

4.0

AD

Contains classes for displaying advertisements in your application. See iAd Framework Reference.

ImageIO.framework

4.0

CG

Contains classes for reading and writing image data. See Image I/O Reference Collection.

IOKit.framework

2.0

N/A

Contains interfaces used by the device. Do not include this framework directly.

MapKit.framework

3.0

MK

Contains classes for embedding a map interface into your application and for looking up reverse geocoding coordinates. See Map Kit Framework Reference.

MediaPlayer.framework

2.0

MP

Contains interfaces for playing full-screen video. See Media Player Framework Reference.

MessageUI.framework

3.0

MF

Contains interfaces for composing and queuing email messages. See Message UI Framework Reference.

MobileCoreServices.framework

3.0

UT

Defines the uniform type identifiers (UTIs) supported by the system.

OpenAL.framework

2.0

AL

Contains the interfaces for OpenAL, a cross-platform positional audio library. For more information, go to http://www.openal.org.

OpenGLES.framework

2.0

EAGL, GL

Contains the interfaces for OpenGL ES, which is an embedded version of the OpenGL cross-platform 2D and 3D graphics rendering library. See OpenGL ES Framework Reference.

QuartzCore.framework

2.0

CA

Contains the Core Animation interfaces. See Quartz Core Framework Reference.

QuickLook.framework

4.0

QL

Contains interfaces for previewing files. See Quick Look Framework Reference.

Security.framework

2.0

CSSM, Sec

Contains interfaces for managing certificates, public and private keys, and trust policies. See Security Framework Reference.

StoreKit.framework

3.0

SK

Contains interfaces for handling the financial transactions associated with in app purchases. See Store Kit Framework Reference.

SystemConfiguration.framework

2.0

SC

Contains interfaces for determining the network configuration of a device. See System Configuration Framework Reference.

UIKit.framework

2.0

UI

Contains classes and methods for the iOS application user-interface layer. See UIKit Framework Reference.

Simulator Frameworks

Although you should always target the device frameworks when writing your code, you might need to compile your code specially for the simulator during testing. The frameworks available on the device and in the simulator are mostly identical, but there are a handful of differences. For example, the simulator uses several Mac OS X frameworks as part of its own implementation. In addition, the exact interfaces available for a device framework and a simulator framework may differ slightly due to system limitations. For a list of frameworks, and for information about the specific differences between the device and simulator frameworks, see iOS Development Guide.

System Libraries

Note that some specialty libraries at the Core OS and Core Services level are not packaged as frameworks. Instead, iOS includes many dynamic libraries in the /usr/lib directory of the system. Dynamic shared libraries are identified by their .dylib extension. Header files for the libraries are located in the /usr/include directory.

Each version of the iPhone SDK includes a local copy of the dynamic shared libraries that are installed with the system. These copies are installed on your development system so that you can link to them from your Xcode projects. To see the list of libraries for a particular version of iOS, look in <Xcode>/Platforms/iPhoneOS.platform/Developer/SDKs/<iOS_SDK>/usr/lib where <Xcode> is the path to your Xcode installation directory and <iOS_SDK> is the specific SDK version you are targeting. For example, the shared libraries for the iOS 3.0 SDK would be located in the /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/usr/lib directory, with the corresponding headers in /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/usr/include.

iOS uses symbolic links to point to the most current version of most libraries. When linking to a dynamic shared library, use the symbolic link instead of a link to a specific version of the library. Library versions may change in future versions of iOS; if your software is linked to a specific version, that version might not always be available on the user’s system.




Last updated: 2010-07-08

Did this document help you? Yes It's good, but... Not helpful...