標籤:
原文:http://www.bubuko.com/infodetail-650437.html
iOS API簡介
轉自:http://book.2cto.com/201307/27019.html
蘋果的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 |
iOS API 概述