標籤:blog http ext 使用 檔案 2014
iOS是運行在iPhone、iPod Touch或iPad上的作業系統,之前叫做iPhone OS,iOS與Mac OS X有共同的基礎架構和底層技術。但iOS是根據行動裝置的特點而設計的,所以和Mac OS X系統略有區別,比如對多點觸摸和加速感應器的支援。
下面來看看iOS架構簡介:
iOS 的系統架構分為四個層次:核心作業系統層(Core OS layer)、核心服務層(Core Services layer)、媒體層(Media layer)和可觸摸層(Cocoa Touch layer)。展示了Mac OS X和iOS系統架構層次的一個對比。
從中我們可以發現Mac OS X與iOS的系統架構層次只有最上面一層不同,由Cocoa架構換成了Cocoa Touch,因此開發iOS應用程式與開發Mac OS X程式是相似的,現在就讓我們來具體看看每層所包含的內容。
其實iOS是基於UNIX的,所以我們完全可以相信這個作業系統,要知道從系統的穩定性上來說它要比其他動作系統的產品好很多。
位於iOS系統架構最下面的一層是核心作業系統層,它包括記憶體管理、檔案系統、電源管理以及一些其他的作業系統任務。它可以直接和硬體裝置進行互動。核心作業系統層包括以下這些組件:
OS X Kernel Mach 3.0 BSD
Sockets Power Mgmt File System
Keychain Certificates Security
Bonjour
第二層是核心服務層,我們可以通過它來訪問iOS的一些服務。它包括以下這些組件:
Collections Address Book Networking
File Access SQLite Core Location
Net Services Threading Preferences
URL Utilities
第三層是媒體層,通過它我們可以在應用程式中使用各種媒體檔案,進行音頻與視頻的錄製,圖形的繪製,以及製作基礎的動畫效果。它包括以下這些組件:
Core Audio OpenGL Audio Mixing
Audio Recording Video Playback JPG,PNG,TIFF
PDF Quartz Core Animation
OpenGL ES
最上面一層是可觸摸層,這一層為我們的應用程式開發提供了各種有用的架構,並且大部分與使用者介面有關,本質上來說它負責使用者在iOS裝置上的觸摸互動操作。它包括以下這些組件:
Multi-Touch Events Core Motion Camera
View Hierarchy Localization Alerts
Web Views Image Picker Multi-Touch Controls
在Cocoa Touch層中的很多技術都是基於Objective-C語言的。Objective-C語言為iOS提供了像集合、檔案管理、網路操作等支援。像 UIKit架構,它為應用程式提供了各種可視化組件,比如像視窗(Window)、視圖(View)和按鈕組件(UIButton)。Cocoa Touch層中的其他架構,對我們在應用程式中的開發來說也是非常有用的,如訪問使用者通訊錄功能架構、擷取照片資訊功能的架構、負責加速感應器和三維陀螺儀等硬體支援的架構。
iOS架構介紹
什麼是架構?本質上來說它是協助我們完成各種特定功能的軟體庫。
我 們編寫的應用程式項目,都是從Cocoa Touch層開始的,具體來說就是從UIKit Framework開始的。當在編寫程式的過程中需要用到一些特殊功能的時候,我們應該從架構的最頂端技術開始尋找相應的架構,只有在上層結構無法解決時,才能使用其下層的技術。其實,頂層的架構已經涵蓋了我們絕大多數需要的功能。
表1-1列出了一些常用的iOS SDK架構。