iOS是基于UNIX系統的,他的架構可分為四個層面,從上到下,依次是可觸摸層(Cocoa Touch layer)、媒體層(Media layer)、核心服務層(Core Service layer)、核心操作層(Core OS layer)。
如圖顯示:
1、觸摸層:為系統提供程序常用的框架,多數與界面有關,主要負責iOS設備上的觸摸交互操作。如:NoticationCenter的本地通知遠程服務、iAd廣告框架、GamerKit游戲工具框架、消息UI框架、圖片UI框架、地圖框架、連接手表框架、自動適配等
2、媒體層:提供應用的視聽放么的技術。如與圖像圖像相關的:CoreGraphiccs、CoreImagge、GLKit、OpenGLES、CoreText、ImageIO等;與聲音相關:CoreAudio、OpenAL、AVFoundation;與視頻相關:CoreMedia、MediaPlayer、音頻傳輸的AirPlay等
3、核心服務層:提供英語所需的基礎的系統服務。如:Accounds賬戶框架、廣告框架、數據存儲框架、網絡連接框架、地理位置框架、運動框架等;其中核心的框架是:CoreFoundation框架和Foundation框架,他們定義所有的應用使用的數據類型。注:CoreFoundation是基于C的一組接口,FOundation是對CoreFoundation的封裝
4、核心操作系統層:他包含大多數低級別接近硬件的功能,所含框架常被七天框架使用。Accelerate框架所含的數字信號、線性代數、圖像處理的借口。針對所有的iOS設備硬件之間的差異做優化,保證寫一次代碼在所有iOS設備上高效運行。CoreBluetooth框架利用藍牙和外設交互,包括掃描連接藍牙設備,保存連接狀態,斷開連接,獲取外設的數據或者給外設傳輸數據等等。Security框架提供管理證書,公鑰和私鑰信任策略,keychain,hash認證數字簽名等等與安全相關的解決方案。
常用的iOS SDK框架
Accelerate.framework 包含加速數學和DSP函數。
AddressBook.framework 包含直接訪問用戶聯系人數據庫的函數。
AddressBookUI.framework 包含顯示系統定義的聯系人挑選界面和編輯界面的類。
AssetsLibrary.framework 包含顯示用戶照片和視頻的類
AudioToolbox.framework 包含處理音頻流數據以及播放或錄制音頻的接口。
AVFoundation.framework 包含播放或錄制音頻的Objective-C接口。
AudioUnit.framework 包含加載并使用音頻單元的接口。
CFNetwork.framework 包含通過WiFi或者蜂窩無線訪問網絡的接口。
CoreAudio.framework 包含Core Audio框架使用的各種數據類型。
CoreData.framework 包含管理應用程序數據模型的接口。
CoreFoundation.framework 提供一些基本軟件服務,包括常見數據類型抽象、字符串實用工具、群體類型實用工具、資源管理以及偏好設置。
CoreGraphics.framework 包含Quartz 2D接口。
CoreLocation.framework 包含確定用戶方位信息的接口。
CoreMedia.framework 包含操作音頻和視頻的底層例程。
CoreMotion.framework 包含訪問加速度計以及陀螺儀的數據的接口。
CoreTelephony.framework 包含訪問電話相關的信息的例程。
CoreText.framework 包含一個文本的布局渲染引擎。
CoreVideo.framework 包含操作音頻和視頻的底層例程。
EventKit.framework 包含訪問用戶日歷事件數據的接口。
EventKitUI.framework 包含顯示標準系統日歷界面的類。
ExternalAccessory.framework 包含與外設進行通訊的接口。
Foundation.framework 包含Cocoa Foundation層的類和方法。
GameKit.framework 包含點對點連接管理接口。
iAd.framework 包含在應用程序中顯示廣告的類。
ImageIO.framework 包含讀取或寫入圖像數據的類。
IOKit.framework 包含設備所使用的接口。
MapKit.framework 包含將地圖界面嵌入到應用程序的類,也可以用于查找地理編碼反向坐標。
MediaPlayer.framework 包含顯示全屏視頻的接口。
MessageUI.framework 包含撰寫和排隊發送電子郵件信息的界面。
MobileCoreServices.framework 定義系統支持的統一類型標識符(UTIs)。
OpenAL.framework 包含OpenAL接口。OpenAL是一個跨平臺的方位音頻庫。
OpenGLES.framework包含OpenGL ES接口。OpenGL ES框架是OpenGL跨平臺2D和3D渲染庫的跨平臺版本。
QuartzCore.framework 包含Core Animation接口。。
QuickLook.framework 包含預覽文件接口。
Security.framework 包含管理證書、公鑰私鑰以及信任策略的接口。
StoreKit.framework 包含用于處理與應用程序內購買相關的財務交易。
SystemConfiguration.framework 包含用于處理設備網絡配置的接口。
UIKit.framework 包含iOS應用程序用戶界面層使用的類和方法。