iOS架構詳解
0.額,題外話,寫給自己
不久之前回到了家鄉-桐鄉。舊的地方,新的開始。新的工作地點也已經確定了-嘉善。江湖中的至理名言:自己欠下的債,總是要自己還給自己!回到了這邊,感覺年輕時候的任性終於也到了需要彌補的時候:拿起曾經的教科書,come on,少年!
1.iOS架構說
iOS系統是基於UNIX的,其系統架構如下圖所示:大致可以分為4層——Cocoa Touch層、Media層、Core Services層和Core OS層。它包含了我們使用的所有的系統基本框架。
Core OS層:即核心作業系統層。它是用FreeBSD和Mach所改寫的Darwin, 是開源、符合POSIX標準的一個UNIX核心。iOS系統架構最下面的一層。所以,很多情況下,它所提供功能不是直接用於應用程式中,而是應用在其他框架中。但是,在直接處理安全事務或和某個外設通訊的時候等需要使用iPhone OS系統的最基本系統行為和硬體功能的互動的時候,那時必不可少的!它主要提供的是硬體驅動, 記憶體管理,程式管理,執行緒管理(POSIX),檔案系統管理,網路(BSD Socket),以及標準輸入輸出等等功能。 包含的框架一般是C語言的庫,有:
Accelerate (Accelerate.framework):該框架的介面可用於執行數學、大數字以及DSP運算,例如訪問重力加計的API,在iOS 4.0的時候被引入,其API字首一般為AC;
Core Bluetooth (CoreBluetooth.framework): 訪問低能耗藍芽裝置的API,其API字首一般為CB;
External Accessory(ExternalAccessory.framework): 通過它來支援iOS裝置與繫結附件通訊,外圍配件(這些配件一般是通過基座介面或藍芽連線的)API介面,其API字首一般為EA ;
Security (Security.framework):管理證書、公鑰 、私鑰和安全信任策略API,其API字首一般為Sec ;
System (LibSystem庫) : 主要是讓開發者不受限制的訪問UNIX開發環境中的一些典型工具,它負責作業系統的各個方面,包括管理系統的虛擬記憶體、執行緒、檔案系統、網路以及程式間通訊;
-
Core Services層:即核心服務層。用於訪問較低階的作業系統服務,例如檔案存取,iCloud儲存,聯網,常見的資料型別,
- 包含一些常用的高階功能:塊物件,Grand Central Dispatch (GCD) ,應用程式內購買(In App Purchase),XML 支援,定位服務,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語言的介面;
-
Media層:顧名思義,用於處理對媒體功能:圖形技術、音訊技術和視訊技術
- 包含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層:觸控層,主要處理應用的核心功能,最常用。例如最常用的UIKit框架就處於這層
- 常用高階功能:多工和資料保護,本地和蘋果遠端APNS通知服務,手勢識別器,檔案共享支援,藍芽點對點服務,標準系統檢視控制器,外部裝置支援
- 包括Address Book UI Framework、Event Kit UI Framework、Game Kit Framework、iAd Framework、Map Kit Framework、Message UI Framework、UIKit Framework等等,這一層基本都是基於 Objective-c的介面
總結:架構總共4層,由外及裡,從表層到底層,表層是封裝完善,底層多事C語言的呼叫,
相關文章
- iOS VIPER架構實踐(二):VIPER詳解與實現iOS架構
- kafka核心架構詳解Kafka架構
- TDengine 3.0 架構詳解架構
- Chromium VIZ架構詳解架構
- Angular 4.0 架構詳解Angular架構
- Jenkins架構詳解Jenkins架構
- RabbitMQ架構詳解(7大架構原理模型圖解)MQ架構模型圖解
- SpringMVC詳解(二)------詳細架構SpringMVC架構
- Facebook移動架構:Android Flux架構詳解架構AndroidUX
- HotDB 基礎架構詳解架構
- 3.4 以太坊架構詳解架構
- Dubbo架構設計詳解架構
- Angular4.0架構詳解Angular架構
- 詳解安卓架構入門安卓架構
- iOS 架構iOS架構
- 軟體架構-nginx詳解上架構Nginx
- 1.5 比特幣架構詳解比特幣架構
- [大資料] Spark架構詳解大資料Spark架構
- 乾貨:軟體架構詳解架構
- Android 檢視架構詳解Android架構
- Android架構元件WorkManager詳解Android架構元件
- MySQL 主從架構配置詳解MySql架構
- Serverless無伺服器架構詳解Server伺服器架構
- 一文詳解微服務架構微服務架構
- tomcat架構分析及配置詳解Tomcat架構
- 【DATAGUARD】Oracle Dataguard體系架構詳解Oracle架構
- CynosDB技術詳解——架構設計架構
- ClickHouse、Doris、 Impala等MPP架構詳解架構
- 分散式|Dubbo架構設計詳解分散式架構
- 乾貨:軟體架構分析詳解架構
- Oracle Golden Gate體系架構詳解OracleGo架構
- Uniapp匯出的iOS應用上架詳解APPiOS
- 分散式架構基礎:Java RMI詳解分散式架構Java
- k8s架構與元件詳解K8S架構元件
- MVC 三層架構案例詳細講解MVC架構
- “阿里架構師”的JVM之GC詳解阿里架構JVMGC
- 詳解Oracle架構、原理、程式,學會世間再無複雜架構Oracle架構
- Tungsten Fabric架構解析丨詳解vRouter體系結構架構VR