iOS 系統架構及常用框架(iOS的系統架構分為四個層次)


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

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

(1)觸摸層:為應用程序開發提供了各種常用的框架並且大部分框架與界面有關,本質上來說它負責用戶在iOS設備上的觸摸交互操作。它包括以下這些組件:

Multi-Touch Events  Core Motion   Camera

View Hierarchy   Localization   Alerts

Web Views     Image Picker   Multi-Touch Controls

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

Core Audio     OpenGL    Audio Mixing

Audio Recording   Video Playback   JPG,PNG,TIFF

PDF     Quartz    Core Animation 

OpenGL ES

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

Collections     Address Book   Networking

File Access     SQLite    Core Location

Net Services    Threading    Preferences

URL Utilities

 (4)核心操作系統層包括:內存管理、文件系統、電源管理以及一些其他的操作系統任務。它可以直接和硬件設備進行交互。核心操作系統層包括以下這些組件:

OS X Kernel    Mach 3.0    BSD

Sockets     Power Mgmt  File System

Keychain     Certificates   Security

Bonjour

3.Cocoa Touch簡介

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

 4.應用程序的框架

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

                      常用的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)、

基本數據類型和操作系統服務等

GameKit.framework

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

MapKit.framework

為應用程序提供內嵌地圖的接口

MediaPlayer.framework

提供播放視頻和音頻的功能

MessageUI.framework

提供視圖控制接口用以處理E-mail和短信

OpenGLES.framework

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

QuartzCore.framework

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

StoreKit.framework

為應用程序提供在程序運行中消費的支持

SystemConfiguration.framework

檢測當前網絡是否可用和硬件設備狀態的能力

UIKit.framework

創建和管理應用程序的用戶界面


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM