一啃奴、iOS系統(tǒng)架構(gòu)
1雄妥、觸摸層(Cocoa Touch)
負(fù)責(zé)用戶在iOS設(shè)備上的觸摸交互操作老厌。
幾個重要的框架:
- AddressBook.framework:包含直接訪問用戶聯(lián)系人數(shù)據(jù)庫的函數(shù)。
- AddressBookUI.framework:包含顯示系統(tǒng)聯(lián)系人挑選及編輯界面醋拧。
- EventKit.framework:包含訪問用戶日歷事件數(shù)據(jù)的接口淀弹。
- EventKitUI.framework:包含顯示標(biāo)準(zhǔn)系統(tǒng)日歷界面的類。
- GameKit.framework:包含點對點連接管理接口菌赖。
- iAd.framework:包含應(yīng)用程序中顯示廣告的類痊焊。
- MapKit.framework:包含將地圖頁面嵌入到應(yīng)用程序的類,也可以用于查找地理編碼反向坐標(biāo)。
- MessageUI.framework:包含撰寫和排隊發(fā)送電子郵件信息的界面垄惧。
- UIKit.framework:包含iOS應(yīng)用程序用戶界面層使用的類和方法绰寞。
2铣口、媒體層(Media)
視聽方面的技術(shù)觉壶,如圖形圖像相關(guān)的CoreGraphics铜靶、CodeImage、GLkit争剿、OpenGLES蚕苇、CoreText、ImageIO涩笤;聲音技術(shù)相關(guān)的CoreAudio蹬碧、OpenAL、AVFoundation呢蔫;視頻相關(guān)的CoreMedia飒筑、MediaPlayer;音視頻傳輸?shù)腁irPlay等等俏脊。
幾個重要的框架:
- AssetsLibrary.framework:包含顯示用戶照片和視頻的類肤晓。
- AudioToolbox.framework:包含處理音頻流數(shù)據(jù)以及播放或錄制音頻的接口。
- AudioUnit.framework:包含加載并使用音頻單元的接口漫萄。
- AVFoundation.framework:包含播放或錄制音頻的接口盈匾。
- CoreAudio.framework:包含CoreAudio框架使用的各種數(shù)據(jù)類型削饵。
- CoreGraphics.framework:包含Quartz 2D接口未巫。
- ImageIO.framework:包含讀取或?qū)懭雸D像數(shù)據(jù)的類启昧。
- MediaPlayer.framework:包含顯示全屏視頻的接口。
- OpenAL.framework:包含OpenAL接口握爷,OpenAL是一個跨平臺的方位音頻庫苏遥。
- OpenGLES.framework:包含OpenGL ES接口,OpenGL ES框架是OpenGL跨平臺2D和3D渲染庫师抄。
- QuartzCore.framework:包含Core Animation接口教硫。
3瞬矩、核心服務(wù)層(Core Services)
提供給應(yīng)用所需的基礎(chǔ)系統(tǒng)服務(wù),如廣告框架涵叮、數(shù)據(jù)存儲框架伞插、網(wǎng)絡(luò)框架、地理位置框架舀瓢。這些服務(wù)中最核心的是CoreFoundation和Foundation框架耗美,定義了所有應(yīng)用使用的數(shù)據(jù)類型。
幾個重要的框架:
- CFNetwork.framework:包含訪問網(wǎng)絡(luò)的接口堰怨。
- CoreData.framework:包含管理應(yīng)用程序數(shù)據(jù)模型的接口甸私。
- CoreFoundation.framework:提供一下基本軟件服務(wù),包括常見數(shù)據(jù)類型抽象诬烹、字符串使用工具弃鸦、群體類型使用工具唬格、資源管理以及偏好設(shè)置。
- CoreLocation.framework:包含確定全方位信息接口汰聋。
- CoreMedia.framework:包含操作音頻和視頻的底層例程喊积。
- CoreTelephony.framework:包含訪問電話相關(guān)的。
- CoreVideo.framework:包含操作音頻和視頻的底層例程乾吻。(不要直接使用該框架)
- Foundation.framework:包含Cocoa Foundation層的類和方法髓梅。
- MobileCoreServices.framework:定義系統(tǒng)支持的統(tǒng)一類型標(biāo)識符(UTIs)。
- QuickLook.framework:包含預(yù)覽文件接口绎签。
- StoreKit.framework:包含用于處理與應(yīng)用程序內(nèi)購買相關(guān)的財務(wù)交易枯饿。
- SystemConfiguration.framework:包含用于處理設(shè)備網(wǎng)絡(luò)配置的接口。
4诡必、核心操作系統(tǒng)層(Core OS)
包含大多數(shù)低級別接近硬件的功能奢方,它所包含的框架常常被其它框架所使用。Accelerate框架包含數(shù)字信號爸舒,線性代數(shù)蟋字,圖像處理的接口。針對所有的iOS設(shè)備硬件之間的差異做優(yōu)化碳抄,保證寫一次代碼在所有iOS設(shè)備上高效運行。CoreBluetooth框架利用藍(lán)牙和外設(shè)交互剖效,包括掃描連接藍(lán)牙設(shè)備嫉入,保存連接狀態(tài),斷開連接璧尸,獲取外設(shè)的數(shù)據(jù)或者給外設(shè)傳輸數(shù)據(jù)等等咒林。Security框架提供管理證書,公鑰和私鑰信任策略爷光,keychain,hash認(rèn)證數(shù)字簽名等等與安全相關(guān)的解決方案垫竞。
幾個重要的框架:
- Accelerate.framework:包含加速數(shù)學(xué)和DSP函數(shù)。
- ExternalAccessory.framework:包含與外設(shè)進(jìn)行通訊的接口。
- Security.framework:包含管理證書欢瞪、公鑰私鑰以及信任策略的接口活烙。