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服務組成,包括線程,數學運算,硬件配件等,一般無需訪問。