ios包含多个服务层,之间关系(从上到下):
Cocoa Touch ---> (多媒体层)Media Layer ---> (核心服务层)Core Services ---> (核心os层)Core OS
Cocoa Touch:程序界面实现,和系统服务交互,手势控制,通知中心,消息推送等都需要通过该层实现;
- UIKit:负责应用的启动和结束,控制界面,访问数据视图(网页,word,excel等),访问媒体库、照片库等;
- MapKit:该框架提供一个可被嵌入到应用程序的地图界面,该界面包含一个可以滚动的地图视图;
- EventKit UI:提供一个视图控制键可以展现查看并编辑事件的标准系统界面;
- Notification Center:通知中心;
Media Layer:多媒体层提供了程序对音频,图像的播放、生成和处理;
- AV Foundation:用于播放和编辑视频和音频,用于实现电影录制,音轨管理等功能
- AV Kit:用于简单的视频播放;
- Core Audio:提供了音频的播放录制功能,包含AudioToolbox和AudioUnit框架,前者可以播放报警时和震动,后者用于处理音频;
- Core Graphics:核心绘图,可在应用程序中添加2D绘图和合成的功能;
- Quartz Core:用于创建动画,Core Animation的功能集;
- OpenGL ES:是OpenGL的子集,用于2D和3D动画创建。
Core Services:核心服务层,用于访问较低级的操作系统服务,如文件存取,网络访问等
- CFNetwork:配置和访问网络
- Core Data:创建程序的数据模型,基于SQLite
- Core Foundation:大部分功能和Foundation框架相似,是一个过程型框架;
- Foundation:提供了一个面向对象封装器(wrapper),封装了Core Foundation的功能。对字符串,数组和字典的操作都要通过该框架,其他程序必要功能也需要通过Foundation实现,如线程;
- System Configuration:获取设备当前网络状态,硬件设备状态;
Core OS:核心os层由最低级的ios服务组成,包括线程,数学运算,硬件配件等,一般无需访问。