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设备硬件相匹配)