IOS操做系統的層次架構:編程
系統包含~層~層包含~框架~框架包含接口~接口~提供方法,功能安全
1)最底層的核心操做系統層(Core OS)網絡
該層包含6個框架:1)Accelerate 加速框架、2)Core Bluetooth Framework(核心藍牙框架)、3)External Accessory Framework(外部附件框架)、4)Generic Security Services Framework(通用安全服務框架)、5)Security Framework(安全框架)、6)System、7) 64-Bit Support架構
文件系統、網絡基礎、安全特性、能量管理、和一些設備驅動、及系統級別的API;包括內存管理、文件系統、電源管理以及一些其餘的操做系統任務。它能夠直接和硬件設備進行交互框架
核心操做系統層包括如下這些組件:ide
OS X Kernel Mach 3.0 BSD函數
Sockets Power Mgmt File System工具
Keychain Certificates Securityspa
Bonjour操作系統
2)次底層的核心服務層(Core Services )
提供核心服務如,字符串處理函數、集合管理、網絡管理、URL處理工具、聯繫人維護、偏好設置等。
包括如下這些組件:
Collections Address Book Networking
File Access SQLite Core Location
Net Services Threading Preferences
URL Utilities
3)中間層的媒體層(media )
該層框架和服務依賴Core Services層,向Cocoa Touch層提供畫圖和多媒體服務,如聲音、圖片、視頻等。
包括如下這些組件:
Core Audio OpenGL Audio Mixing
Audio Recording Video Playback JPG,PNG,TIFF
PDF Quartz Core Animation
OpenGL ES
4)最上層的觸摸層(Cocoa Touch)
框架基於 iPhone OS應用層直接調用層,如觸摸事件、照相機管理等,包該層含UIKit框架和Foundation框架。
包括如下這些組件:
Multi-Touch Events Core Motion Camera
View Hierarchy Localization Alerts
Web Views Image Picker Multi-Touch Controls
低層次框架提供IOS的基本服務和技術,高層次框架創建在低層次框架之上用來提供更加複雜的服務和技術,較高級的框架向較低級的結構提供面向對象的抽象。
Foundation和 UIKit框架是應用編程用到的兩個主要的框架,可以知足大多數應用程序的開發需求。
UIKit(。全部 iOS 應用程序都是基於 UIKit, 沒有這個框架,就沒法交付應用程序。UIKit提供應用程序的基礎架構,用於在屏幕上繪圖、處理事件,以及建立通用用戶界面及其中元素。UIKit還經過管理屏幕上顯示的內容,來組織應用程序。
Foundation( UIKit和其餘框架,都是創建在 Foundation 框架的基礎結構之上。 Foundation框架提供許多基本的對象類和數據類型,使其成爲應用程序開發的基礎。它還制定了一些約定(如用於取消分配等任務),使代碼更加一致,可複用性更好。