iOS 系統架構 && 常用 framework

來源:互聯網
上載者:User

標籤:dsp   span   push   動畫效果   點對點   div   按鈕組   recording   核心   

整理自互連網,感謝原文作者!

1.iOS基於UNIX系統,因此從系統的穩定性上來說它要比其他動作系統的產品好很多

 

2.iOS的系統架構分為四層,由上到下一次為:可觸摸層(Cocoa Touch layer)、媒體層(Media layer)、核心服務層(Core Services layer)、核心作業系統層(Core OS layer)

(1)觸摸層:為應用程式開發提供了各種常用的架構並且大部分架構與介面有關,本質上來說它負責使用者在iOS裝置上的觸摸互動操作。它包括以下這些組件:

Multi-Touch Events  Core Motion   CameraView Hierarchy   Localization   AlertsWeb Views     Image Picker   Multi-Touch Controls

(補充new:可觸摸層主要提供使用者互動相關的服務如介面控制項、事件管理、通知中樞、地圖,包含

  • UIKit(介面相關)
  • EventKit(日曆事件提醒等)
  • Notification Center(通知中樞)
  • MapKit(地圖顯示)
  • Address Book(連絡人)
  • iAd(廣告)
  • Message UI(郵件與SMS顯示)
  • PushKit(iOS8新push機制)

 (2)媒體層:通過它我們可以在應用程式中使用各種媒體檔案,進行音頻與視頻的錄製,圖形的繪製,以及製作基礎的動畫效果。它包括以下這些組件:

Core Audio     OpenGL    Audio MixingAudio Recording   Video Playback   JPG,PNG,TIFFPDF     Quartz    Core Animation OpenGL ES

(補充new:媒體層主要提供映像引擎、音頻引擎、視頻引擎架構。

  • 映像引擎(Core Graphics、Core Image、Core Animation、OpenGL ES)
  • 音頻引擎 (Core Audio、 AV Foundation、OpenAL)
  • 視頻引擎(AV Foundation、Core Media)

(3)核心服務層:我們可以通過它來訪問iOS的一些服務。它包括以下這些組件:

Collections     Address Book   NetworkingFile Access     SQLite    Core LocationNet Services    Threading    PreferencesURL Utilities

(補充new:核心服務層為程式提供基礎的系統服務例如網路訪問、瀏覽器引擎、定位、檔案訪問、資料庫訪問等,主要包含以下架構:

  • CFNetwork(網路訪問)
  • Core Data(資料存放區)
  • Core Location(定位功能)
  • Core Motion(重力加速度,陀螺儀)
  • Foundation(基礎功能如NSString)
  • Webkit(瀏覽器引擎)
  • JavaScript(JavaScript引擎)

 

(4)核心作業系統層包括:記憶體管理、檔案系統、電源管理以及一些其他的作業系統任務。它可以直接和硬體裝置進行互動。核心作業系統層包括以下這些組件:

OS X Kernel    Mach 3.0    BSDSockets     Power Mgmt  File SystemKeychain     Certificates   SecurityBonjour

(補充new:核心系統層提供為上層結構提供最基礎的服務如作業系統核心服務、本地認證、安全、加速等。

  • 作業系統核心服務(BSD sockets、I/O訪問、記憶體申請、檔案系統、數學計算等)
  • 本地認證(指紋識別驗證等)
  • 安全(提供管理憑證、公開金鑰、密鑰等的介面)
  • 加速 (執行數學、大數字以及DSP運算,這些介面iOS裝置硬體相匹配)

3.Cocoa Touch簡介

(1)在最上層Cocoa Touch層中的很多技術都是基於Objective-C語言的。Objective-C語言為iOS提供了集合、檔案管理、網路操作等支援。比如UIKit架構,它為應用程式提供了各種可視化組件,比如像視窗(Window)、視圖(View)和按鈕組件(UIButton)。Cocoa Touch層中的其他架構,對我們在應用程式中的開發來說也是非常有用的,如訪問使用者通訊錄功能架構、擷取照片資訊功能的架構、負責加速感應器和三維陀螺儀等硬體支援的架構。

4.Framework--應用程式架構

什麼是架構?本質上來說它是協助我們完成各種特定功能的軟體庫。

我們編寫的應用程式項目,都是從Cocoa Touch層開始的,具體來說就是從UIKit Framework開始的。當在編寫程式的過程中需要用到一些特殊功能的時候,我們應該從架構的最頂端技術開始尋找相應的架構,只有在上層結構無法解決時,才能使用其下層的技術。其實,頂層的架構已經涵蓋了我們絕大多數需要的功能。

下列表格列出了一些常用的iOS SDK架構。

                  

 常用的iOS SDK架構:

架構名稱

功    能

AddressBook.framework

提供訪問儲存核心資料庫中使用者連絡人資訊的功能

AddressBookUI.framework

提供一個使用者介面,用於顯示儲存在地址簿中的連絡人資訊

AudioToolbox.framework

提供音頻錄製和回放的底層API,同時也負責管理音頻硬體

AudioUnit.framework

提供一個介面,讓我們的應用程式可以對音頻進行處理

AVFoundation.framework

提供音頻錄製和回放的底層API,同時也負責管理音頻硬體

CFNetwork.framework

訪問和配置網路,像HTTP、FTP和Bonjour Services

CoreFoundation.framework

提供抽象的常用資料類型,如 Unicode strings、XML、URL等

CoreGraphics.framework

提供2D繪製的基於C的API

 

 

                 續表:

架構名稱

功    能

CoreLocation.framework

使用GPS和Wi-Fi擷取位置資訊

Foundation.framework

提供Object-C的基礎類(像NSObject)、

基礎資料型別 (Elementary Data Type)和作業系統服務等

GameKit.framework

為遊戲提供網路功能;點對點互聯和遊戲中的語音交流

MapKit.framework

為應用程式提供內嵌地圖的介面

MediaPlayer.framework

提供播放視頻和音訊功能

MessageUI.framework

提供視圖控制介面用以處理E-mail和簡訊

OpenGLES.framework

提供簡潔而高效的繪製2D和3D圖形的OpenGL API子集

QuartzCore.framework

提供動畫特效以及通過硬體進行渲染的能力

StoreKit.framework

為應用程式提供在程式運行中消費的支援

SystemConfiguration.framework

檢測當前網路是否可用和硬體裝置狀態的能力

UIKit.framework

建立和管理應用程式的使用者介面

iOS 系統架構 && 常用 framework

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.