iOS架構(gòu)詳解

0.額,題外話,寫(xiě)給自己

不久之前回到了家鄉(xiāng)-桐鄉(xiāng)。舊的地方,新的開(kāi)始。新的工作地點(diǎn)也已經(jīng)確定了-嘉善。江湖中的至理名言:自己欠下的債,總是要自己還給自己!回到了這邊,感覺(jué)年輕時(shí)候的任性終于也到了需要彌補(bǔ)的時(shí)候:拿起曾經(jīng)的教科書(shū),come on,少年!

1.iOS架構(gòu)說(shuō)

iOS系統(tǒng)是基于UNIX的,其系統(tǒng)架構(gòu)如下圖所示:大致可以分為4層——Cocoa Touch層、Media層、Core Services層和Core OS層。它包含了我們使用的所有的系統(tǒng)基本框架。

iOS整體架構(gòu)圖.jpg
  • Core OS層:即核心操作系統(tǒng)層。它是用FreeBSD和Mach所改寫(xiě)的Darwin, 是開(kāi)源、符合POSIX標(biāo)準(zhǔn)的一個(gè)UNIX核心。iOS系統(tǒng)架構(gòu)最下面的一層。所以,很多情況下,它所提供功能不是直接用于應(yīng)用程序中,而是應(yīng)用在其他框架中。但是,在直接處理安全事務(wù)或和某個(gè)外設(shè)通訊的時(shí)候等需要使用iPhone OS系統(tǒng)的最基本系統(tǒng)行為和硬件功能的交互的時(shí)候,那時(shí)必不可少的!它主要提供的是硬件驅(qū)動(dòng), 內(nèi)存管理,程序管理,線程管理(POSIX),文件系統(tǒng)管理,網(wǎng)絡(luò)(BSD Socket),以及標(biāo)準(zhǔn)輸入輸出等等功能。 包含的框架一般是C語(yǔ)言的庫(kù),有:

  • Accelerate (Accelerate.framework):該框架的接口可用于執(zhí)行數(shù)學(xué)、大數(shù)字以及DSP運(yùn)算,例如訪問(wèn)重力加計(jì)的API,在iOS 4.0的時(shí)候被引入,其API前綴一般為AC;

  • Core Bluetooth (CoreBluetooth.framework): 訪問(wèn)低能耗藍(lán)牙設(shè)備的API,其API前綴一般為CB;

  • External Accessory(ExternalAccessory.framework): 通過(guò)它來(lái)支持iOS設(shè)備與綁定附件通信,外圍配件(這些配件一般是通過(guò)基座接口或藍(lán)牙連接的)API接口,其API前綴一般為EA ;

  • Security (Security.framework):管理證書(shū)、公鑰 、私鑰和安全信任策略API,其API前綴一般為Sec ;

  • System (LibSystem庫(kù)) : 主要是讓開(kāi)發(fā)者不受限制的訪問(wèn)UNIX開(kāi)發(fā)環(huán)境中的一些典型工具,它負(fù)責(zé)操作系統(tǒng)的各個(gè)方面,包括管理系統(tǒng)的虛擬內(nèi)存、線程、文件系統(tǒng)、網(wǎng)絡(luò)以及進(jìn)程間通訊;

  • Core Services層:即核心服務(wù)層。用于訪問(wèn)較低級(jí)的操作系統(tǒng)服務(wù),例如文件存取,iCloud存儲(chǔ),聯(lián)網(wǎng),常見(jiàn)的數(shù)據(jù)類(lèi)型,

    • 包含一些常用的高級(jí)功能:塊對(duì)象,Grand Central Dispatch (GCD) ,應(yīng)用程序內(nèi)購(gòu)買(mǎi)(In App Purchase),XML 支持,定位服務(wù),Sqlite等 ;
    • 包含眾多常用框架:包含Address Book Framework、CFNetwork Framework、Core Data Framework、Core Foundation Framework、Core Location Framework、Core Media Framework、Core Telephony Framework、Event Kit Framework、Foundation Framework、Mobile Core Services Framework、Quick Look Framework、Store Kit Framework、System Configuration Framework、Block Objects、Grand Central Dispatch 、In App Purchase、Location Services、SQLite、XML Support等一些框架,也基本都是基于c語(yǔ)言的接口;
  • Media層:顧名思義,用于處理對(duì)媒體功能:圖形技術(shù)、音頻技術(shù)和視頻技術(shù)

    • 包含Core Graphics、Core Animation、OpenGL ES、Core Text、Image I/O、Assets Library Framework、Media Player Framework、AV Foundation、OpenAL、Core Audio Frameworks、Core Media等等
  • Cocoa Touch層:觸摸層,主要處理應(yīng)用的核心功能,最常用。例如最常用的UIKit框架就處于這層

    • 常用高級(jí)功能:多任務(wù)和數(shù)據(jù)保護(hù),本地和蘋(píng)果遠(yuǎn)程APNS通知服務(wù),手勢(shì)識(shí)別器,文件共享支持,藍(lán)牙點(diǎn)對(duì)點(diǎn)服務(wù),標(biāo)準(zhǔn)系統(tǒng)視圖控制器,外部設(shè)備支持
    • 包括Address Book UI Framework、Event Kit UI Framework、Game Kit Framework、iAd Framework、Map Kit Framework、Message UI Framework、UIKit Framework等等,這一層基本都是基于 Objective-c的接口

總結(jié):架構(gòu)總共4層,由外及里,從表層到底層,表層是封裝完善,底層多事C語(yǔ)言的調(diào)用,

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • iOS的系統(tǒng)架構(gòu)分為四個(gè)層次:核心操作系統(tǒng)層(Core OS layer)、核心服務(wù)層(Core Services...
    zhaihongxia閱讀 3,266評(píng)論 0 3
  • 在iOS中框架是一個(gè)目錄,包含了共享資源庫(kù),用于訪問(wèn)該資源庫(kù)中儲(chǔ)存的代碼的頭文件,以及圖像、聲音文件等其他資源。共...
    wo不懂閱讀 1,603評(píng)論 3 3
  • 在iOS中框架是一個(gè)目錄,包含了共享資源庫(kù),用于訪問(wèn)該資源庫(kù)中儲(chǔ)存的代碼的頭文件,以及圖像、聲音文件等其他資源。共...
    ch123閱讀 1,845評(píng)論 0 1
  • 6轉(zhuǎn)載-->>IOS框架和服務(wù) 在iOS中框架是一個(gè)目錄,包含了共享資源庫(kù),用于訪問(wèn)該資源庫(kù)中儲(chǔ)存的代碼的頭文件,...
    李小六_閱讀 3,839評(píng)論 2 24
  • 死亡審判
    審判圣者閱讀 231評(píng)論 0 0

友情鏈接更多精彩內(nèi)容