美文网首页
iOS 系统架构

iOS 系统架构

作者: 小鹏1006 | 来源:发表于2019-03-14 18:25 被阅读0次

    iOS 系统分为可分为四级结构,由上至下分别为可触摸层(Cocoa Touch Layer)、媒体层(Media Layer)、核心服务层(Core Services Layer)、核心系统层(Core OS Layer),每个层级提供不同的服务。低层级结构提供基础服务如文件系统、内存管理、I/O 操作等。高层级结构建立在低层级结构之上提供具体服务如 UI 控件、文件访问等。

    iOS 8.3 系统框架架构图

    可触摸层(Cocoa Touch Layer)

    大部分与用户界面有关,本质上来说它负责用户在 iOS 设备上的触摸交互操作。这一层基本都是基于 Objective-C 的接口。可触摸层主要提供用户交互相关的服务如界面控件、事件管理、通知中心、地图,包含以下框架:

    UIKit(界面相关)

    EventKit(日历事件提醒等)

    Notification Center(通知中心)

    MapKit(地图显示)

    Address Book(联系人)

    iAd(广告)

    Message UI(邮件与 SMS 显示)

    PushKit(iOS8 新 push 机制)

    媒体层(Media Layer)

    通过它我们可以在应用程序中使用各种媒体文件,进行音频与视频的录制,图形的绘制,以及制作基础的动画效果。这一层既有基于 Objective-c 的接口也有基于 C 语言的接口。媒体层主要提供图像引擎、音频引擎、视频引擎框架:

    图像引擎(Core Graphics、Core Image、Core Animation、OpenGL ES)

    音频引擎 (Core Audio、 AV Foundation、OpenAL)

    视频引擎(AV Foundation、Core Media)

    核心服务层(Core Services Layer)

    可以通过它来访问 iOS 的一些服务。基本都是基于 C 语言的接口。核心服务层为程序提供基础的系统服务例如网络访问、浏览器引擎、定位、文件访问、数据库访问等,主要包含以下框架:

    CFNetwork(网络访问)

    Core Data(数据存储)

    Core Location(定位功能)

    Core Motion(重力加速度,陀螺仪)

    Foundation(基础功能如 NSString)

    Webkit(浏览器引擎)

    JavaScript(JavaScript 引擎)

    核心系统层(Core OS Layer)

    它包括内存管理、文件系统、电源管理以及一些其他的操作系统任务。它可以直接和硬件设备进行交互。作为 App 开发者不需要与这一层打交道。基本都是基于 C 语言的接口。核心系统层提供为上层结构提供最基础的服务如操作系统内核服务、本地认证、安全、加速等。

    操作系统内核服务(BSD sockets、I/O 访问、内存申请、文件系统、数学计算等)

    本地认证(指纹识别验证等)

    安全(提供管理证书、公钥、密钥等的接口)

    加速 (执行数学、大数字以及 DSP 运算,这些接口 iOS 设备硬件相匹配)

    在上面所有的框架中,最重要也最经常使用的就是 UIKit 和 Foundation 框架。

    Foundation 框架提供许多基本的对象类和数据类型,使其成为应用程序开发的基础,为所有应用程序提供最基本的系统服务,和界面无关。

    UIKit 框架提供的类是基础的UI类库,用于创建基于触摸的用户界面,所有 iOS 应用程序都是基于 UIKit,它提供应用程序的基础架构,用于构建用户界面,绘图、处理和用户交互事件,响应手势等等。UIKit 通过控制器对象管理屏幕上显示的内容,界面的跳转,来组织应用程序。没有 UIKit 框架就没有 iOS 应用程序。

    相关文章

      网友评论

          本文标题:iOS 系统架构

          本文链接:https://www.haomeiwen.com/subject/cjicmqtx.html