iOS API簡介(iOS SDK認知)

通常在招聘面試中遇到熟悉iOS SDK,那么到底怎么描述?

iOS的整體架構(gòu)圖分為4層,由上往下--Cocoa Touch層,Media層,Core Services層和Core OS層。下面概要介紹這4層。

1. Cocoa Touch層

該層提供了構(gòu)建iOS應(yīng)用的一些基本系統(tǒng)服務(wù)(如多任務(wù)、觸摸輸入和推送通知)和關(guān)鍵框架。


? ? 框架 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 前綴 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 說明


Address Book UI ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? AB ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 訪問用戶聯(lián)系人信息

Event Kit UI ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?EK ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?訪問用戶日歷事件數(shù)據(jù)

Game Kit ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?GK ? ? ? ? ? ? ? ? ? 提供能夠點對點的網(wǎng)絡(luò)通API

iAD ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? AD ? ? ? ? ? ? ? ? ? ? ? ? ? ? 在應(yīng)用中嵌入廣告

Map Kit ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?MK ? ? ? ? ? ? ? ? 應(yīng)用中嵌入地圖和地理信息編碼等

Message UI ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? MF ? ? ? ? ? ? 提供與發(fā)送E-mail相關(guān)的API

PhotosUI? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? PH? ? ? ? ? ? ? 照片UI相關(guān)的API(iOS8 替代Assets Library)

Twitter ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? TW ? ? ? ? ? ? 提供發(fā)送Twitter的接口

UIKit ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? UI ? ? ? ? ? ? ? ?提供UI類(重要的面試常問UI優(yōu)化技巧)



2. Media層

該層提供了圖形、音頻、視頻和AirPlay技術(shù),包括的框架如下


框架? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 前綴? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 說明


Assets Library ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? AL ? ? ? ? ? ? ? ? ? ? ? ?提供訪問用戶圖片和視頻接口

Audio ToolBox ? (C) ? ? ? ? ? ? ? ? ? ? Audio ? ? ? ? ? ? ? 錄制或播放音頻、音頻流及格式轉(zhuǎn)換

Audio Unit ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Audio,AU ? ? ? ? ? 可以使用內(nèi)置音頻單元服務(wù)以及音頻處理模塊

AV Foundation ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? AV ? ? ? ? ? ? ? ?提供播放與錄制音頻和視頻的OC接口

Core Audio ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Audio ? ? ? ? ? ? ? ? 提供錄制、制作、播放音頻的C語言接口

Core Graphics ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?CG ? ? ? ? ? ? ? ? ?提供Quartz 2D接口

Core Image ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? CI ? ? ? ? ? ? ? ? ? ?提供操作視頻與靜態(tài)圖像的接口

Core MIDI ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? MIDI ? ? ? ? ? ? ? 用于處理MIDI的數(shù)據(jù)底層的API

Core Text ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?CT ? ? ? ? ? ? ? ? ? ?提供渲染文本和處理字體的簡單、高效的C語言接口

Core Video ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? CV ? ? ? ? ? ? ? ? ? ?處理音頻或視頻的API

Image I/O ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? CG ? ? ? ? ? ? ? ? ? ? ? 包含一些讀寫圖像數(shù)據(jù)類

GLKit ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?GLK ? ? ? ? ? ? ? ?包含構(gòu)建復雜OpenGL ES應(yīng)用的OC實現(xiàn)類

Media Player ? ? ? ? ? ? ? ? ? ? ? ?MP ? ? ? ? ? ? ? ? 包含全屏播放接口

OpenAL ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? AL ? ? ? ? ? ? ? ? ? 包含OpenAL(跨平臺的音頻)的C語言接口

OpenGL ES ? ? ? ? ? ? ? ? ? ? ? EAGL,GL ? ? 包含OpenGL ES(跨平臺的2D/3D圖形庫)的C語言接口

Quartz Core ? ? ? ? ? ? ? ? ? ?CA ? ? ? ? ? ? ? ? ? ? 提供動畫接口類

Sprite Kit ? ? ? ? ? ? ? ? ? ? ? ?SK ? ? ? ? ? ? ? ? ? ? 是蘋果提供的基于2D游戲開發(fā)引擎(iOS,Mac OS X游戲開發(fā))

Scene Kit ? ? ? ? ? ? ? ? ? ? ?SCN ? ? ? ? ? ? ? ? ? ? ? 是一種高級別3D圖形框架,能狗幫助我們在App中創(chuàng)建3D動畫場景和特效



3. Core Services層

該層提供了CloudKit、HealthKit、HomeKit、應(yīng)用內(nèi)購買、SQLite數(shù)據(jù)庫和XML技術(shù)等技術(shù),包括框架如下


框架? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 前綴? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 說明


Accounts ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? AC ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?用于訪問用戶的Twitter賬戶(iOS5之后才有)

AddressBook ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? AB ? ? ? ? ? ? ? ? 訪問用戶聯(lián)系人信息

AdSupport ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? AS ? ? ? ? ? ? ? ? ?獲取iAD廣告標識

CFNetwork ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?CF ? ? ? ? ? ? ? ? ? 提供訪問Wi-Fi網(wǎng)絡(luò)和蜂窩電話網(wǎng)絡(luò)的API

CoreData ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?NS ? ? ? ? ? ? ? ? ? 提供管理應(yīng)用數(shù)據(jù)的ORM接口

CoreFoundation ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? CF ? ? ? ? ? ? ? ? ? 是iOS中最基本的框架,包括數(shù)據(jù)集

Core Location ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?CL ? ? ? ? ? ? ? ? ? ? 提供定位服務(wù)的API

Core Media ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? CM ? ? ? ? ? ? 提供AV Foundation框架使用的底層媒體類型??梢跃_的控制音頻或視頻的創(chuàng)建和展示

CoreMotion ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?CM ? ? ? ? ? ?接收和處理重力加速計及其他運動事件

CoreTelephony ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? CT ? ? ? ?提供訪問電話基本信息的API

Event Kit ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?EK ? ? ? ? 訪問用戶的日歷事件數(shù)據(jù)

Foundation ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?NS ? ? ? ?為Core Foundation框架的許多功能提供OC封裝,是OC最為基本的框架

JavaScriptCore.framework ? ? JS ? ? ? ? 提供基于OC語言封裝的標準JS對象,通過該框架可以實現(xiàn)OC與JS的互調(diào)

MoblieCoreServices ? ? ? ? ? ? UT ? ? ? ? 定義統(tǒng)一類型標識符(UTI)使用的底層類型

Newsstand Kit ? ? ? ? ? ? ? ? ? ? NK ? ? ? ? 提供在后臺下載雜志和新聞的API接口(iOS5后)

PassKit ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?PK ? ? ? ? ? 提供訪問各種優(yōu)惠券的API(iOS6后)

QuickLook ? ? ? ? ? ? ? ? ? ? ? ? QL ? ? ? ? 該框架可以預(yù)覽無法直接查看的文件內(nèi)容,例如打開PDF文件

Social ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?SL ? ? ? ? ? 提供社交網(wǎng)絡(luò)訪問API,中國區(qū)提供新浪微博API(iOS6后)

Store Kit ? ? ? ? ? ? ? ? ? ? ? SK ? ? ? ? ? ? ? ?提供處理應(yīng)用內(nèi)置收費的資金交易

SystemConfiguration ? SC ? ? ? 用于確定設(shè)備的網(wǎng)絡(luò)配置,也可以用于判斷某個主機服務(wù)是否可以使用

Cloud Kit ? ? ? ? ? ? ? ? ? ? CK ? ? ? ?開發(fā)Cloud應(yīng)用的API

Health Kit ? ? ? ? ? ? ? ?HK ? ? ? ? 開發(fā)健康和健身服務(wù)的API,在一個位置上訪問共享和健康相關(guān)的信息

Home Kit ? ? ? ? ? ? HM ? ? ? ? ? ? ? ? 能夠與用戶家中連接的設(shè)備通信并進行控制


4. Core OS層

該層提供一些一些低級功能,開發(fā)中一般不直接使用。該層包括的主要框架


框架? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 前綴? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 說明


Accelerate ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? AC ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?訪問重力加速計API

Core Bluetooth ? ? ? ? ? ? ? ? ? ? ? ? ? ? CB ? ? ? ? ? ? ? ? ? ? ? ? ? 訪問低能耗藍牙設(shè)備API

External ? ? Accessory ? ? ? ? ? ? ? ? EA ? ? ? ? ? ? ? ? ? ? 訪問外圍配件API

Ceneric Security Services ? ? ? ?gss ? ? ? ? ? ? ? 提供一組安全相關(guān)的服務(wù)

Security ? ? ? ? ? ? ? ? ? ? ? CSSM,Sec ? ? ? ? 管理證書、公鑰、私鑰和安全信任策略API

LocalAuthentication ? ?LA ? ? ? ? ? ? ? ? 通過用戶指定的安全策略進行安全認證


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容