iOS系統架構淺析
概述
iOS系統整體上可以分為四層,自上而下分別為可觸摸層(Cocoa Touch Layer)、媒體層(Media Layer)、核心服務層(Core Services Layer)、核心系統層(Core OS Layer),每個層級提供不同的服務。如下圖所示:

</br>
我們常用的UIKit框架和Foundation框架分別處于這四層架構的Cocoa Touch層和Core Services層。一般來說低層級的為高層級提供服務。
</br>下面我們整體來看看每一層級的主要功能
可觸摸層(Cocoa Touch Layer)
可觸摸層主要提供用戶交互相關的服務如界面控件、事件管理、通知中心、地圖,包含以下常用框架:
UIKit(UIKit.framework)
Notification Center(NotificationCenter.framework)
MapKit(MapKit.framework)
Address Book (AddressBookUI.framework)
PushKit(PushKit.framework)
媒體層(Media Layer)
媒體層主要提供圖像引擎、音頻引擎、視頻引擎框架
包含以下常用框架:
- 圖像引擎
Core Graphics(CoreGraphics.framework)
Core Image (CoreImage.framework )
Core Animation
OpenGL ES(OpenGLES.framework) - 音頻引擎
Core Audio(CoreAudio.framework )
AV Foundation(AVFoundation.framework ) - 視頻引擎
AV Foundation(AVFoundation.framework )
Core Media(MediaPlayer.framework)
核心服務層(Core Services Layer)
核心服務層為程序提供基礎的系統服務例如網絡訪問、瀏覽器引擎、定位、文件訪問、數據庫訪問等,主要包含以下常用框架:
CFNetwork(CFNetwork.framework)
Core Data(CoreData.framework)
Core Location(CoreLocation.framework)
Core Motion(CoreMotion.framework)
Foundation(CoreFoundation.framework)
Webkit(Webkit.framework)
JavaScript(JavaScriptCore.framework)
核心系統層(Core OS Layer)
核心系統層提供為上層結構提供最基礎的服務如操作系統內核服務、本地認證、安全、加速等,它可以直接和硬件設備進行交互
操作系統內核服務(BSD sockets、I/O訪問、內存申請、文件系統、數學計算等)
本地認證(指紋識別驗證等)
安全(提供管理證書、公鑰、密鑰等的接口)
加速 (執行數學、大數字以及DSP運算,這些接口iOS設備硬件相匹配)