2.6 iOS API简介
苹果的iOS API在不同版本间有很多变化,本书采用的是iOS 6。本节中,我们会介绍iOS 6有哪些API,如何使用这些API的帮助文档以及如何使用官方案例。
2.6.1 API概述
iOS的整体架构图如图2-40所示,分为4层——Cocoa Touch层、Media层、Core Services层和Core OS层,下面概要介绍一下这4层。

图2-40 iOS整体架构图
1. Cocoa Touch层
该层提供了构建iOS应用的一些基本系统服务(如多任务、触摸输入和推送通知等)和关键框架(见表2-3)。
 
表2-3 Cocoa Touch层包括的框架

框  架

前  缀

说  明

Address Book UI

AB

访问用户的联系人信息

Event Kit UI

EK

访问用户的日历事件数据

Game Kit

GK

提供能够进行点对点的网络通信的API

iAd

AD

在应用中嵌入广告

Map Kit

MK

在应用中嵌入地图和地理信息编码等

Message UI

MF

提供与发送E-mail相关的API

Twitter

TW

提供发送Twitter的接口

UIKit

UI

提供UI类

 

2. Media层
Media层提供了图形、音频、视频和AirPlay技术,包括的框架如表2-4所示。
 
表2-4 Media层包括的框架

框  架

前  缀

说  明

Assets Library

AL

提供访问用户的图片和视频的接口

AudioToolbox

Audio

录制或播放音频、音频流以及格式转换

AudioUnit

Audio,AU

提供使用内置音频单元服务,以及音频处理模块

AV Foundation

AV

提供播放与录制音频和视频的Objective-C接口

Core Audio

Audio

提供录制、制作、播放音频的C语言接口

Core Graphics

CG

提供Quartz 2D接口

Core Image

CI

提供操作视频和静态图像的接口

Core MIDI

MIDI

提供用于处理MIDI数据低层的API

Core Text

CT

提供渲染文本和处理字体的简单、高效的C语言接口

Core Video

CV

提供用于处理音频和视频的API

Image I/O

CG

包含一些读写图像数据类

GLKit

GLK

包含了构建复杂OpenGL ES应用的Objective-C实用类

Media Player

MP

包含全屏播放接口

OpenAL

AL

包含了OpenAL(跨平台的音频)的C语言接口

OpenGL ES

EAGL,GL

包含OpenGL ES(跨平台的2D/3D图形库)的C语言接口

Quartz Core

CA

提供动画接口类

 

3. Core Services层
该层提供了iCloud、应用内购买、SQLite数据库和XML支持等技术,包括的主要框架如表2-5所示。
 
表2-5 Core Services层包括的框架

框  架

前  缀

说  明

Accounts

AC

用于访问用户的Twitter账户(iOS 5之后才有此API)

AddressBook

AB

访问用户的联系人信息

AdSupport

AS

获得iAD广告标识

CFNetwork

CF

提供了访问Wi-Fi网络和蜂窝电话网络的API

Core Data

NS

提供管理应用数据的ORM接口

CoreFoundation

CF

它是iOS开发中最基本的框架,包括数据集

Core Location

CL

提供定位服务的API

CoreMedia

CM

提供AV Foundation框架使用的底层媒体类型。可以精确控制音频或视频的创建及展示

CoreMotion

CM

接收和处理重力加速计以及其他的运动事件

CoreTelephony

CT

提供访问电话基本信息的API

Event Kit

EK

访问用户的日历事件数据

Foundation

NS

为Core Foundation框架的许多功能提供Objective-C封装,是Objective-C最为基本框架

MobileCoreServices

UT

定义统一类型标识符(UTI)使用的底层类型

Newsstand Kit

NK

提供在后台下载杂志和新闻的API接口(iOS 5之后才有此API)

Pass Kit

PK

提供访问各种优惠券的API(iOS 6之后才有此API)

QuickLook

QL

该框架可以预览无法直接查看的文件内容,例如打开PDF文件

Social

SL

提供社交网络访问API,中国区提供新浪微博API(iOS 6之后才有此API)

Store Kit

SK

提供处理应用内置收费的资金交易

SystemConfiguration

SC

用于确定设备的网络配置(例如,使用该框架判断Wi-Fi或者蜂窝连接是否正在使用中),也可以用于判断某个主机服务是否可以使用

 

4. Core OS层
该层提供了一些低级功能,开发中一般不直接使用它。该层包括的主要框架如表2-6所示。
表2-6 Core OS层包括的框架


框  架

前  缀

说  明

Accelerate

AC

访问重力加速计API

Core Bluetooth

CB

访问低能耗蓝牙设备API

External Accessory

EA

访问外围配件API接口

Generic Security Services

gss

提供一组安全相关的服务

Security

CSSM,Sec

管理证书、公钥、私钥和安全信任策略API