This appendix describes the frameworks that iOS systems contain, which provide the necessary interfaces for software that writes iOS platforms. The following table lists the classes, methods, functions, types, and key prefixes used by constants in the framework as much as possible, avoiding the use of these prefixes in your symbol names.
Frames in the device
Table B-1 describes the frameworks provided by iOS devices, which are located in <Xcode>
/platforms/iphoneos.platform/developer/sdks/
<iOS_SDK>
/system/library/frameworks
Directory. The <Xcode> in the path represents the installation directory of Xcode, and <iOS_SDK> indicates the target SDK version. The column titled "First introduced" in the table represents the iOS system version that first introduced the relevant framework.
table B-1 frames in a device
Name |
First introduced |
Prefix |
Describe |
Accelerate.framework
|
4.0 |
Cblas , Vdsp
|
Includes accelerated math and DSP functions. Please see the Acceleration Framework reference. |
Addressbook.framework
|
2.0 |
Ab
|
Contains functions that directly access the user's contact database. Please view the Address Book frame reference. |
Addressbookui.framework
|
2.0 |
Ab
|
Contains classes that display the system-defined contact selection interface and editing interface. Please see the iOS Address Book UI Framework reference. |
Assetslibrary.framework
|
4.0 |
AL
|
Contains classes that display user photos and videos, see the resource Pool Framework reference. |
Audiotoolbox.framework
|
2.0 |
AU , Audio
|
Contains interfaces for processing audio stream data and for playing or recording audio. Please see the Audio Toolbox frame reference. |
Audiounit.framework
|
2.0 |
AU , Audio
|
Contains an interface that loads and uses an audio unit. Please see the Audio Unit frame reference. |
Avfoundation.framework
|
2.2 |
Av
|
Contains the Objective-c interface for playing or recording audio. Please see the AV Foundation Framework Reference: |
Cfnetwork.framework
|
2.0 |
Cf
|
Includes an interface to access the network over WiFi or cellular. Please see the cfnetwork frame reference. |
Coreaudio.framework
|
2.0 |
Audio
|
Contains the various data types used by the core audio framework. Please see the core Audio frame reference. |
Coredata.framework
|
3.0 |
Ns
|
Contains an interface that manages the application data model. Please see the core Data Framework reference. |
Corefoundation.framework
|
2.0 |
Cf
|
Provides basic software services, including common data type abstractions, string utilities, group type utilities, resource management, and preferences. Please see the Rovcore Foundation Framework Reference. |
Coregraphics.framework
|
2.0 |
Cg
|
Contains the Quartz 2D interface. Please see the core Graphics frame reference. |
Corelocation.framework
|
2.0 |
Cl
|
Contains an interface that determines user orientation information. See Core location frame reference. |
Coremedia.framework
|
4.0 |
Cm
|
Contains the underlying routines for manipulating audio and video. See Core Media Frame reference. |
Coremotion.framework
|
4.0 |
Cm
|
An interface that includes access to the accelerometer and the data of the gyroscope. See Core Motion Frame reference. |
Coretelephony.framework
|
4.0 |
Ct
|
A routine that contains information about access to the phone. See Core Telephony Frame reference. |
Coretext.framework
|
3.2 |
Ct
|
A layout rendering engine that contains a text. Please see the core text reference set: |
Corevideo.framework
|
4.0 |
CV
|
Contains the underlying routines for manipulating audio and video. Please do not use the framework directly. |
Eventkit.framework
|
4.0 |
EK
|
An interface that contains access to user calendar event data. Please see the event Kit Framework reference. |
Eventkitui.framework
|
4.0 |
EK
|
Contains classes that display the standard system calendar interface. Please see the event Kit UI Framework reference. |
Externalaccessory.framework
|
3.0 |
Ea
|
Contains interfaces for communicating with peripherals. Please see the external accessory frame reference. |
Foundation.framework
|
2.0 |
Ns
|
Classes and methods that contain the Cocoa foundation layer. Please see the Foundation Framework reference. |
Gamekit.framework
|
3.0 |
Gk
|
Contains a point-to-point connection management interface. Please see the game Kit frame reference. |
Iad.framework
|
4.0 |
AD
|
Contains classes that display ads in the application. Please see the IAD framework reference. |
Imageio.framework
|
4.0 |
Cg
|
Contains classes that read or write image data. Please review the image I/O reference set. |
Iokit.framework
|
2.0 |
N/A |
Contains the interface used by the device. Please do not use this framework directly. |
Mapkit.framework
|
3.0 |
Mk
|
Contains classes that embed a map interface into an application, and can also be used to find geocoding inverse coordinates. Please see the map Kit frame reference. |
Mediaplayer.framework
|
2.0 |
Mp
|
Contains an interface that displays full-screen video. Please see the media Player Framework reference. |
Messageui.framework
|
3.0 |
Mf
|
Contains an interface for composing and queuing sending e-mail messages. Please review the message UI Framework reference. |
Mobilecoreservices.framework
|
3.0 |
Ut
|
Defines the uniform type identifier (UTIS) supported by the system. |
Openal.framework
|
2.0 |
AL
|
Contains the OpenAL interface. OpenAL is a cross-platform, Azimuth Audio library. For further information, please visit http://www.openal.org. |
Opengles.framework
|
2.0 |
Eagl , Gl
|
Contains the OpenGL ES interface. The OpenGL ES Framework is a cross-platform version of OpenGL cross-platform and 3D rendering libraries. Please see the OpenGL ES Framework reference. |
Quartzcore.framework
|
2.0 |
Ca
|
Contains the core animation interface. See the Quartz Core Framework reference. |
Quicklook.framework
|
4.0 |
Ql
|
Contains the preview file interface. Please see the quick look frame reference. |
Security.framework
|
2.0 |
CSSM , Sec
|
Contains interfaces for managing certificates, public key private keys, and trust policies. Please review the security framework reference. |
Storekit.framework
|
3.0 |
Sk
|
Contains financial transactions for processing in-app purchases. Please see the Store Kit frame reference. |
Systemconfiguration.framework
|
2.0 |
Sc
|
Contains an interface for handling device network configuration. Please see the System Configuration Framework reference. |
Uikit.framework
|
2.0 |
Ui
|
Contains classes and methods used by the iOS application user interface layer. Please see the Uikit frame reference. |
The framework of the simulator
While writing code should target the device framework, you also need to compile code for the emulator during testing. The frame of the device and simulator is slightly different. The emulator takes several Mac OS x frameworks as part of its own implementation. In addition, due to system limitations, the exact interface of the device framework may be slightly different from the simulator framework. If you need a list of these frameworks and information about the differences between the device and the emulator framework, check out the iOS development guide.
System Library
Note that the iOS system may not package some special libraries for the core OS and core services layer into a framework, but instead place them as dynamic libraries on the system's
/usr/lib
Directory. Dynamic shared libraries through
. dylib
Extension ID whose corresponding header file is located in the
/usr/include
Directory.
All versions of the iphone SDK include a local copy of the dynamic shared library that is installed on the system. These copies are installed on your development system and you can link from the Xcode project. If you need to see a version of the dynamic library list, see <Xcode>
/platforms/iphoneos.platform/developer/sdks/
<iOS_SDK>
/usr/lib
。 In this path,,<xcode> indicates that the installation directory for Xcode,<ios_sdk> indicates that you were using a version of the SDK. For example, the IOS 3.0 SDK's dynamic library is located in
/developer/platforms/iphoneos.platform/developer/sdks/iphoneos3.0.sdk/usr/lib
directory, the corresponding header file is located in the
/developer/platforms/iphoneos.platform/developer/sdks/iphoneos3.0.sdk/usr/include
Directory.
iOS uses symbolic links to point to the most recent version of the library. When linking a dynamic shared library, use a symbolic link instead of a dynamic library-specific version link. Because in future versions of iOS, the version of the library may change. If your software is connected to a specific version, and that version may no longer exist in the user's system, there will be a problem.
Framework for IOS