
iOS系統(tǒng)架構(gòu)圖
iOS操作系統(tǒng)除過最底層的內(nèi)核,其上總共分為四層,從上到下依次是:
- 交互層 Cocoa Touch
- 媒體層 Media
- 核心服務(wù)層C ore Services
- 操作系統(tǒng)層 Core OS
Cocoa Touch
最上層的Cocoa Touch層直接和用戶進(jìn)行交互,比如最常用的UIKit中的各種控件就屬于此層,以及最核心的基礎(chǔ)服務(wù)Foundation框架,以及地圖MapKit等。
- Foundation,Objective-C的核心實現(xiàn),動態(tài)、高效、完備。
- UIKit,內(nèi)含各種交互控件和手勢,比如UILabel、UIButton、UIImageView、UIScrollView,是所有程序必不可少的組成部分。
Media
Media媒體層為上層的Cocoa Touch提供畫圖和多媒體服務(wù),比如文字、圖像、音視頻處理等。
- 文字
- Core Text,文字渲染
- 圖像
- Core Graphics,也叫Quartz 2D,是Apple所有設(shè)備的二維繪圖引擎,可以實現(xiàn)顏色空間管理、路徑繪制、仿射變換、漸變陰影、PDF相關(guān)功能。
- Core Image,方便易用的圖片處理庫,內(nèi)置大量濾鏡,特征檢測,比如人臉、矩形、文字等,還可以自動優(yōu)化圖片效果。
- Core Animation,提供高級動畫能力,是對Core Graphics和OpenGL的一次封裝,具體可分為基本動畫、關(guān)鍵幀動畫、動畫組和轉(zhuǎn)場動畫。
- OpenGL ES,一個跨平臺3D渲染引擎,實際上大部分工作是把3D坐標(biāo)轉(zhuǎn)換為2D像素來實現(xiàn)渲染的。
- 音視頻
- AVFoundation,音視頻錄制、播放、處理相關(guān),是封裝在Core Avdio、Core Media、Core Animition之上的。
- Core Audio,為iOS和macOS等提供數(shù)字音頻服務(wù),包含常用的Audio Toolbox和Audio Unit。

AVFoundation依賴結(jié)構(gòu)

Core Audio架構(gòu)
Core Services
核心服務(wù)層為Application提供基礎(chǔ)的系統(tǒng)服務(wù),比如數(shù)據(jù)存儲框架Core Data、安全服務(wù)Security、網(wǎng)絡(luò)訪問CFNetwork等,以及最重要的Foundation和CoreFoundation,它們是Objective-C的核心。
- CFNetwork,網(wǎng)絡(luò)服務(wù)
- Core Data, 數(shù)據(jù)存儲
- Core Location,定位
- Core Motion,重力加速度、陀螺儀
- Webkit,瀏覽器引擎
- JavaScriptCore,JavaScript解釋引擎
- …
Core OS
核心操作系統(tǒng)層為其上所有層提供最基礎(chǔ)的服務(wù),比如內(nèi)存管理、線程管理、本地認(rèn)證、文件系統(tǒng)、電源管理等,是底層的硬件和上層各種服務(wù)之間的接口。
- 操作系統(tǒng)內(nèi)核服務(wù),比如BSD sockets、I/O訪問、內(nèi)存申請、文件系統(tǒng)、數(shù)學(xué)計算等。
- 本地認(rèn)證,比如指紋識別驗證等。
- 安全服務(wù),管理證書、公鑰、密鑰等的接口等。
- 數(shù)學(xué)加速 ,比如執(zhí)行數(shù)學(xué)、大數(shù)字以及DSP運(yùn)算,這些接口iOS設(shè)備硬件相匹配等。