iOS的系统架构分为四个层次:核心操作系统层(Core OS layer)、核心服务层(Core Services layer)、媒体层(Media layer)和可触摸层(Cocoa Touch layer)。下面是IOS系统结构图。
- Core OS是位于iOS系统架构最下面的一层是核心操作系统层,它包括内存管理、文件系统、电源管理以及一些其他的操作系统任务。它可以直接和硬件设备进行交互。作为app开发者不需要与这一层打交道。
- Core Services是核心服务层,可以通过它来访问iOS的一些服务。
- Media是媒体层,通过它我们可以在应用程序中使用各种媒体文件,进行音频与视频的录制,图形的绘制,以及制作基础的动画效果。
- Cocoa Touch是可触摸层,这一层为我们的应用程序开发提供了各种有用的框架,并且大部分与用户界面有关,本质上来说它负责用户在iOS设备上的触摸交互操作。
CocoaTouch提供了基本的系统行为支持,而且将你的工作量降到最低,当你想要实现更为复杂的行为和界面时,才考虑向下层探寻技术支持。
- UIKit框架:UIKit提供了一些程序运行所必须的关键对象,使得App能够捕获用户输入和屏幕上显示内容。
UIKit框架类组织架构图:
在图中可以看出,responder 类是图中最大分支的根类,UIResponder为处理响应事件和响应链 定义了界面和默认行为。当用户用手指滚动列表或者在虚拟键盘上输入时,UIKit就生成时间传送给UIResponder响应链,直到链中有对象处理这个事件。相应的核心对象,比如:UIApplication ,UIWindow,UIView都直接或间接的从UIResponder继承。
- MapKit框架:iOS3.0引入该框架,该框架提供一个可被嵌入到应用程序的地图界面,该界面包含一个可以滚动的地图视图。
- Address Book UI框架:iOS3.0引入该框架,可以利用该框架撰写电子邮件,并将其放到用户的发件箱队列等候发送
- Message UI框架:显示创建或者编辑联系人的标准系统界面
包含图形、音频、视频等技术
Quartz Core框架:包含Core Animation接口。Core Animation是高级动画制作和混合技术,它使用经过优化的渲染路径实现复杂的动画和视觉效果。
Media Player框架:应用程序播放视频和音频内容。
AV Foundation框架:该框架包含的Objective-C类可用于播放音频内容。
Core Graphics框架:包含Quartz 2D绘图API接口。
- Fundation框架
Foundation类组织架构图注:图中灰色的是iOS不支持的
将上图Foundation框架中的类进行逻辑分类如下:
- 值对象
- 集合
- 操作系统服务 包括下面三个:文件系统和URL 进程间通讯。 这个范畴中的大部分类代表不同的系统端口、套接字、和名字服务器,对实现底层的IPC很有用。NSPipe代表一个BSD管道,即一种进程间的单向通讯通道。 线程和子任务。 NSThread类使您可以创建多线程的程序,而各种锁(lock)类则为彼此竞争的线程在访问进程资源时提供各种控制机制。通过NSTask,您的程序可以分出 一个子进程来执行其它工作或进行进度监控。
- 通知
- 归档和序列化
- 表达式和条件判断
- Objective-C语言服务
参考: