iOS的系統(tǒng)架構(gòu)分為四個層次:核心操作系統(tǒng)層(Core OS layer)、核心服務(wù)層(Core Services layer)所计、媒體層(Media layer)和可觸摸層(Cocoa Touch layer)柠辞。理解ios的系統(tǒng)構(gòu)架,對我們?nèi)粘i_發(fā)有很大幫助.其實iOS是基于UNIX的,所以我們完全可以相信這個操作系統(tǒng)主胧,要知道從系統(tǒng)的穩(wěn)定性上來說它要比其他操作系統(tǒng)的產(chǎn)品好很多叭首。
ios整個框架架構(gòu)圖如下:
1习勤、Core OS 核心層:包含Accelerate Framework、External Accessory Framework放棒、Security Framework姻报、System等幾個框架,基本都是基于C語言的接口
2间螟、Core Services核心服務(wù)層:包含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語言的接口。
3执泰、Mediah媒體層:包含Core Graphics枕磁、Core Animation、OpenGL ES术吝、Core Text透典、Image I/O、Assets Library Framework顿苇、Media Player Framework、AV Foundation税弃、OpenAL纪岁、Core Audio Frameworks、AV Foundation则果、Core Media等等
4幔翰、Cocoa Touch 觸摸層:包括Address BookUI Framework漩氨、Event Kit UI Framework、Game Kit Framework遗增、iAd Framework叫惊、Map Kit Framework、Message UI Framework做修、UIKit Framework等等霍狰,這一層基本都是基于Objective-C的接口
IOS操作系統(tǒng)的層次結(jié)構(gòu)及相關(guān)框架
編寫成型的產(chǎn)品,需要的不僅僅是語言本身饰及,同時許多庫需要協(xié)同使用蔗坯。語言只是產(chǎn)品開發(fā)的“膠水”,而框架和上面的這些庫才是 iOS 產(chǎn)品的骨架燎含。
Cocoa 是蘋果開發(fā)體系的統(tǒng)稱宾濒,Cocoa 包含一些主要的 OC 對象庫,我們稱這些對象庫為框架屏箍』婷危框架是由許多類、方法、函數(shù)和文檔按照一定的邏輯組織起來的集合飞崖,以使研發(fā)程序更容易赚导。為所有程序開發(fā)奠定基礎(chǔ)的框架稱為 Foundation 框架。
術(shù)語 Cocoa:是指 Foundation 择卦、Core Data 和 AppKit(Application Kit) 框架框架。用于 Mac OS X 設(shè)備上的應(yīng)用程序開發(fā)郎嫁。
術(shù)語 Cocoa Touch:是指 Foundation 秉继、Core Data 和 UIKit 框架。用于 iOS 設(shè)備上的應(yīng)用程序開發(fā)泽铛。
1)Core OS 核心層:
包含 Accelerate Framework尚辑、External Accessory Framework、Security Framework盔腔、System 等幾個框架杠茬,基本都是基于 C 語言的接口。是最接近于操作系統(tǒng)的一層弛随,在這個層次上瓢喉,主要實現(xiàn)硬件以及操作系統(tǒng)接口封裝。是用FreeBSD和Mach所改寫的Darwin, 是開源舀透、符合POSIX標準的一個Unix核心栓票。這一層包含或者說是提供了整個iPhone OS的一些基礎(chǔ)功能,比如:硬件驅(qū)動, 內(nèi)存管理愕够,程序管理走贪,線程管理(POSIX)佛猛,文件系統(tǒng),網(wǎng)絡(luò)(BSD Socket),以及標準輸入輸出等等坠狡,所有這些功能都會通過C語言的API來提供继找。另外,值得一題的是逃沿,這一層最具有UNIX色彩婴渡,如果你需要把 UNIX上所開發(fā)的程序移植到iPhone上,多半都會使用到Core OS的API.
核心OS層的驅(qū)動也提供了硬件和系統(tǒng)框架之間的接口感挥。然而缩搅,由于安全的考慮,只有有限的系統(tǒng)框架類能訪問內(nèi)核和驅(qū)動触幼。
iPhone OS提供了許多訪問操作系統(tǒng)低層功能的接口集硼瓣,iPhone 應(yīng)用通過LibSystem庫來訪問這些功能,這些接口集如下所示:
線程(POSIX線程)置谦;
網(wǎng)絡(luò)(BSD sockets)堂鲤;
文件系統(tǒng)訪問;
標準I/O媒峡;
Bonjour和DNS服務(wù)瘟栖;
現(xiàn)場信息(Locale Information);
內(nèi)存分配谅阿;
數(shù)學(xué)計算半哟。
許多Core OS技術(shù)的頭文件位于目錄/usr/include/,iPhoneSDK是SDK的安裝目錄签餐。
2)Core Services 核心服務(wù)層:
包含 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 語言的接口。
Core Services在Core OS基礎(chǔ)上提供了更為豐富的功能负甸, 它包含了Foundation.Framework和Core Foundation.Framework, 之所以叫Foundation ,就是因為它提供了一系列處理字串,排列流强,組合,日歷呻待,時間等等的基本功能打月。Foundation是屬于objective-c的API,Core Fundation是屬于C的API蚕捉。另外Core servieces還提供了其他的功能奏篙,比如:Security, Core Location, SQLite, 和Address Book. 其中Security是用來處理認證,密碼管理迫淹,按安全性管理的秘通; Core Location是用來處理GPS定位的;SQLLite是輕量級的數(shù)據(jù)庫敛熬,而AddressBook則用來處理電話薄資料的肺稀。下面是具體介紹:
(1)Foundation 框架提供數(shù)值了字符串、數(shù)值的管理应民、容器及枚舉话原、分布式計算、事件循環(huán)诲锹、URL與數(shù)據(jù)流操作繁仁、國際化、以及其他與圖形用戶界面沒有直接關(guān)系的功能辕狰。其中類和常數(shù)常用NS前綴來標志改备。
你的應(yīng)用程序,UIKit和其它的框架都是建立在Foundation框架上面的蔓倍。Foundation框架是用Object-C對Core Foundation框架里許多特性的封裝悬钳。
使用Foundation可以:
? ? ? ? ? ? ? ? ? ? ? 創(chuàng)建和管理集合,比如數(shù)組和字典
? ? ? ? ? ? ? ? ? ? ? 訪問存儲在應(yīng)用程序里的圖片和其它資源
? ? ? ? ? ? ? ? ? ? ? 創(chuàng)建和管理字符串
? ? ? ? ? ? ? ? ? ? ? 提交和接收通知
? ? ? ? ? ? ? ? ? ? ? 創(chuàng)建日期和時間對象
? ? ? ? ? ? ? ? ? ? ?自動發(fā)現(xiàn)IP網(wǎng)絡(luò)上的設(shè)備
? ? ? ? ? ? ? ? ? ? ?操作URL流
? ? ? ? ? ? ? ? ? ? ?執(zhí)行異步代碼
(2)Core Data 框架主要在數(shù)據(jù)模型偶翅、數(shù)據(jù)存儲方面發(fā)揮作用默勾。在程序運行的時候,Core Data 框架會創(chuàng)建并管理數(shù)據(jù)模型的實例聚谁,同時還對外提供數(shù)據(jù)模型訪問接口母剥。除此之外,Core Data 還可以將對象數(shù)據(jù)存儲在 SQLite 數(shù)據(jù)庫以獲得性能優(yōu)化、管理 undo/redo(撤銷/重做)等操作环疼,還支持在內(nèi)存中對數(shù)據(jù)進行歸類习霹、過濾及組織數(shù)據(jù)。
Core Data提供對象的管理炫隶,使用Core Data淋叶,你可以創(chuàng)建模型對象,并管理這些對象伪阶。你管理這這些對象間的聯(lián)系并修改數(shù)據(jù)煞檩。Core Data提供的內(nèi)建SQLlite技術(shù)可以高效的管理數(shù)據(jù)。
使用Core Data可以:
? ? ? ? ? ? ? ? ? ?在庫里存儲和接收對象
? ? ? ? ? ? ? ? ? ?提供基本的undo/redo
? ? ? ? ? ? ? ? ? 自動驗證屬性值
? ? ? ? ? ? ? ? ? ?過濾栅贴、分組和優(yōu)化內(nèi)存中的數(shù)據(jù)
? ? ? ? ? ? ? ? ? ? 用[NSFetchedResultsController]管理表視圖中的結(jié)果
? ? ? ? ? ? ? ? ? ? 支持基于文檔的應(yīng)用程序
(3)電話本
電話本框架(AddressBook.framework)提供了保存在手機設(shè)備中的電話本編程接口斟湃。開發(fā)者能使用該框架訪問和修改存儲在用戶聯(lián)系人數(shù)據(jù)庫里的記錄。例如檐薯,一個聊天程序可以使用該框架獲得可能的聯(lián)系人列表凝赛,啟動聊天的進程(Process),并在視圖上顯示這些聯(lián)系人信息等厨剪。
(4)核心基礎(chǔ)框架
核心基礎(chǔ)框架(CoreFoundation.framework)是基于C語言的接口集哄酝,提供iPhone應(yīng)用的基本數(shù)據(jù)管理和服務(wù)功能。該框架支持如下功能:
Collection數(shù)據(jù)類型(Arrays祷膳、 Sets等)陶衅;
Bundles;
字符串管理直晨;
日期和時間管理搀军;
原始數(shù)據(jù)塊管理;
首選項管理勇皇;
URL和Stream操作罩句;
線程和運行循環(huán)(Run Loops);
端口和Socket通信敛摘。
核心基礎(chǔ)框架與基礎(chǔ)框架是緊密相關(guān)的门烂,它們?yōu)橄嗤幕竟δ芴峁┝薕bjective-C接口。如果開發(fā)者混合使用Foundation Objects 和Core Foundation類型兄淫,就能充分利用存在兩個框架中的"toll-free bridging"屯远。toll-free bridging意味著開發(fā)者能使用這兩個框架中的任何一個的核心基礎(chǔ)和基礎(chǔ)類型,例如Collection和字符串類型等捕虽。每個框架中的類和數(shù)據(jù)類型的描述注明該對象是否支持toll-free bridged慨丐。如果是,它與哪個對象橋接(toll-free bridged)泄私。
(5)CFNetwork
CFNetwork框架(CFNetwork.framework)是一組高性能的C語言接口集房揭,提供網(wǎng)絡(luò)協(xié)議的面向?qū)ο蟮某橄蟊赶小i_發(fā)者可以使用 CFNetwork框架操作協(xié)議棧,并且可以訪問低層的結(jié)構(gòu)如BSD Sockets等捅暴。同時恬砂,開發(fā)者也能簡化與FTP和HTTP服務(wù)器的通信,或解析DNS等任務(wù)伶唯。使用CFNetwork框架實現(xiàn)的任務(wù)如下所示:
BSD Sockets觉既;
利用SSL或TLS創(chuàng)建加密連接;
解析DNS Hosts乳幸;
解析HTTP協(xié)議,鑒別HTTP和HTTPS服務(wù)器钧椰;
在FTP服務(wù)器工作粹断;
發(fā)布、解析和瀏覽Bonjour服務(wù)嫡霞。
(6)核心位置框架(Core Location Framework)
核心位置框架(CoreLocation.framework)主要獲得手機設(shè)備當(dāng)前的經(jīng)緯度瓶埋,核心位置框架利用附近的GPS、蜂窩基站或Wi- Fi信號信息測量用戶的當(dāng)前位置诊沪。iPhone地圖應(yīng)用使用這個功能在地圖上顯示用戶的當(dāng)前位置养筒。開發(fā)者能融合這個技術(shù)到自己的應(yīng)用中,給用戶提供一些位置信息服務(wù)端姚。例如可以提供一個服務(wù):基于用戶的當(dāng)前位置晕粪,查找附近的餐館、商店或設(shè)備等渐裸。
(7)安全框架(Security Framework)
iPhone OS除了內(nèi)置的安全特性外巫湘,還提供了外部安全框架(Security.framework),從而確保應(yīng)用數(shù)據(jù)的安全性昏鹃。該框架提供了管理證書尚氛、公鑰/私鑰對和信任策略等的接口。它支持產(chǎn)生加密安全的偽隨機數(shù)洞渤,也支持保存在密鑰鏈的證書和密鑰阅嘶。對于用戶敏感的數(shù)據(jù),它是安全的知識庫(Secure Repository)载迄。CommonCrypto接口也支持對稱加密讯柔、HMAC和數(shù)據(jù)摘要。在iPhone OS里沒有OpenSSL庫宪巨,但是數(shù)據(jù)摘要提供的功能在本質(zhì)上與OpenSSL庫提供的功能是一致的磷杏。
(8)SQLite
iPhone應(yīng)用中可以嵌入一個小型SQL數(shù)據(jù)庫SQLite,而不需要在遠端運行另一個數(shù)據(jù)庫服務(wù)器捏卓。開發(fā)者可以創(chuàng)建本地數(shù)據(jù)庫文件极祸,并管理這些文件中的表格和記錄慈格。數(shù)據(jù)庫SQLite為通用的目的而設(shè)計,但仍可以優(yōu)化為快速訪問數(shù)據(jù)庫記錄遥金。訪問數(shù)據(jù)庫SQLite的頭文件位于/usr/include/sqlite3.h浴捆,其中是SDK安裝的目標路徑。
(9)支持XML
基礎(chǔ)框架提供NSXMLParser類稿械,解析XML文檔元素选泻。libXML2庫提供操作XML內(nèi)容的功能,這個開放源代碼的庫可以快速解析和編輯 XML數(shù)據(jù)美莫,并且轉(zhuǎn)換XML內(nèi)容到HTML页眯。訪問libXML2庫的頭文件位于目錄/usr/include /libxml2/,其中是SDK安裝的目標目錄厢呵。
3)Media 媒體層:
包含 Core Graphics窝撵、Core Animation、OpenGL ES襟铭、Core Text碌奉、Image I/O、Assets Library Framework寒砖、Media Player Framework赐劣、AV Foundation、OpenAL哩都、Core Audio Frameworks魁兼、AV Foundation、Core Media 等等茅逮。
如同其名璃赡,Media層提供了圖片,音樂献雅,影片等多媒體功能碉考。圖像分為2D圖像和3D圖像,前者由Quartz2D來支持挺身,后者則是用OpenglES.與音樂對應(yīng)的模組是Core Audio和OpenAL, Media Player 實現(xiàn)了影片的播放侯谁, 而最后還提供了Core Animation來對強大動畫的支持。
媒體層包含圖形技術(shù)(包含動畫技術(shù))章钾、音頻技術(shù)和視頻技術(shù)墙贱,可以使用這層的技術(shù)更快速的創(chuàng)建高級的圖形和動畫,方便的獲得音頻贱傀、視頻的支持惨撇。
(1)圖像技術(shù)(Graphics Technologies):是 iOS 應(yīng)用程序的重要組成部分。創(chuàng)建應(yīng)用程序最簡單府寒、最有效的方法是使用事先渲染過的圖片魁衙,搭配上標準視圖以及 UIKit 框架的控件报腔,然后把繪制任務(wù)交給系統(tǒng)來執(zhí)行。
a. ? ? Core Graphics :也被稱為 Quartz剖淀,用于處理本地 2D 向量渲染和圖片渲染纯蛾。
Quartz。核心圖像框架(CoreGraphics.framework)包含了Quartz 2D畫圖API纵隔,Quartz與在Mac OS中采用的矢量圖畫引擎是一樣先進的翻诉。Quartz支持基于路徑(Path-based)畫圖、抗混淆(Anti-aliased)重載捌刮、梯度(Gradients)碰煌、圖像(Images)、顏色(Colors)绅作、坐標空間轉(zhuǎn)換(Coordinate-space Transformations)拄查、pdf文檔創(chuàng)建、顯示和解析棚蓄。雖然API是基于C語言的,它采用基于對象的抽象表征基礎(chǔ)畫圖對象碍脏,使得圖像內(nèi)容易于保存和復(fù)用梭依。
在iOS中最簡單且最快捷的創(chuàng)建圖形的方式是使用UIKit框架提供的基于預(yù)渲染圖形的視圖和控 件,然后讓UIKit和iOS完成繪制典尾。但是當(dāng)你需要創(chuàng)建復(fù)雜的圖形時役拴,Core Graphics則提供了更底層的庫來幫助你。
使用Core Graphics可以:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?創(chuàng)建基于路徑的繪圖钾埂、
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?抗鋸齒渲染河闰、
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?添加梯度、圖片和顏色褥紫、
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Use coordinate-space transformations.
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 創(chuàng)建姜性、顯示和分析PDF文檔
b.? ? 核心動畫(Core Animation):Quartz Core 框架的一部分,為動畫視圖和其他內(nèi)容提供更高級別支持髓考。
Quartz核心框架(QuartzCore.framework)包含CoreAnimation接口部念,Core Animation是一種高級動畫和合成技術(shù),它用優(yōu)化的重載路徑(Rendering Path)實現(xiàn)復(fù)雜的動畫和虛擬效果氨菇。它用一種高層的Objective-C接口配置動畫和效果儡炼,然后重載在硬件上獲得較好的性能。Core Animation集成到iPhone OS 的許多部分查蓉,包括UIKit類如UIView乌询,提供許多標準系統(tǒng)行為的動畫。開發(fā)者也能利用這個框架中的Objective-C接口創(chuàng)建客戶化的動畫豌研。
UIKit提供建立在Core Animation之上的動畫妹田。如果你需要比UIKit能力更高級的功能唬党,可以直接使用Core Animation。Core Animation接口包含在Quartz Core框架里秆麸。使用Core Animation可以創(chuàng)建嵌套的對象初嘹,并且可以對它們操作、旋轉(zhuǎn)沮趣、縮放和轉(zhuǎn)換屯烦。使用Core animation,你可以創(chuàng)建動態(tài)的用戶界面而不用使用更底層的圖形API房铭,如OpenGL ES驻龟。
使用Core Animation可以:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?創(chuàng)建定制動畫
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 添加定時函數(shù)和圖形
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 支持幀動畫
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Specify graphical layout constraints.
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Group multiple-layer changes into anatomic update.
c. ? ? ? OpenGl ES :為使用硬件加速接口的 2D 和 3D 渲染提供支持。
OpenGL ES框架(OpenGLES.framework)符合OpenGL ES v1.1規(guī)范缸匪,它提供了一種繪畫2D和3D內(nèi)容的工具翁狐。OpenGL ES 框架是基于C語言的框架,與硬件設(shè)備緊密相關(guān)凌蔬,為全屏游戲類應(yīng)用提供高幀率(high frame rates)露懒。開發(fā)者總是要使用OpenGL框架的EAGL接口,EAGL接口是OpenGL ES框架的一部分砂心,它提供了應(yīng)用的OpenGL ES畫圖代碼和本地窗口對象的接口懈词。
OpenGL ES支持2D和3D繪圖,Apple的OpenGL ES實現(xiàn)通過硬件提供了高速的全屏游戲式的應(yīng)用程序辩诞。
使用OpenGL ES可以:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?創(chuàng)建2D和3D圖形
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?創(chuàng)建更復(fù)雜的圖形坎弯,比如數(shù)據(jù)虛擬化、模擬飛行译暂,或者視頻游戲
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 訪問底層圖形設(shè)備
d. ? ? ? Core Text :提供一個精密的文本布局和渲染引擎抠忘。
f. ? ? ? ? Image I/O :提供讀取及編寫大多數(shù)圖形格式的接口。
Assets Library framework :資產(chǎn)庫框架外永,用于訪問用戶照片庫中的照片和視頻崎脉。
(2)音頻技術(shù)(Audio Technologies):iOS 音頻技術(shù)可以用來播放或錄制高質(zhì)量的音頻,也可以用于觸發(fā)設(shè)備的震動功能象迎。
iPhone OS的音頻技術(shù)為用戶提供了豐富的音頻體驗荧嵌。它包括音頻回放,高質(zhì)量的錄音和觸發(fā)設(shè)備的振動功能等砾淌。
iPhone OS的音頻技術(shù)支持如下音頻格式:AAC啦撮、Apple Lossless(ALAC)、A-law汪厨、IMA/ADPCM(IMA4)赃春、Linear PCM、μ-law和Core Audio等劫乱。
① 核心音頻(Core Audio Family)织中。核心音頻框架家族(Core Audio family of frameworks)提供了音頻的本地支持锥涕,如表16-1所示。Core Audio是一個基于C語言的接口狭吼,并支持立體聲(Stereo Audio)层坠。開發(fā)能采用iPhone OS 的Core Audio框架在iPhone 應(yīng)用中產(chǎn)生、錄制刁笙、混合和播放音頻破花。開發(fā)者也能通過核心音頻訪問手機設(shè)備的振動功能。
核心音頻框架:? 框架(Framework)?服務(wù)(Service)
CoreAudio.framework :定義核心音頻的音頻數(shù)據(jù)類型
AudioUnit.framework:提供音頻和流媒體文件的回放和錄制疲吸,并且管理音頻文件和播放提示聲音
AudioToolbox.framework:提供使用內(nèi)置音頻單元服務(wù)座每,音頻處理模塊
② OpenAL。iPhone OS 也支持開放音頻庫(Open Audio Library摘悴, OpenAL)峭梳。OpenAL是一個跨平臺的標準,它能傳遞位置音頻(Positional Audio)蹂喻。開發(fā)者能應(yīng)用OpenAL在需要位置音頻輸出的游戲或其他應(yīng)用中實現(xiàn)高性能葱椭、高質(zhì)量的音頻。
由于OpenAL是一個跨平臺的標準口四,采用OpenAL的代碼模塊可以平滑地移植到其他平臺挫以。
媒體播放器框架:是可以拿來即用的播放器。
AV Foundation :提供用于管理音頻的播放或錄制的接口窃祝。
Core Audio :可以使用此框架的接口播放系統(tǒng)的警報聲音、觸發(fā)的震動功能踱侣、管理多聲道的緩沖和播放粪小、對音頻內(nèi)容進行流化處理。
(3)視頻技術(shù):可用于播放應(yīng)用程序包含的電影文件以及來自網(wǎng)絡(luò)的數(shù)據(jù)流內(nèi)容抡句。如果設(shè)備具有合適的視頻硬件探膊,這些技術(shù)也可以用于捕捉視頻,并可將捕捉到的視頻集成到應(yīng)用程序待榔。
iPhone OS通過媒體播放框架(MediaPlayer.framework)支持全屏視頻回放逞壁。媒體播放框架支持的視頻文件格式包括.mov, .mp4,.m4v和.3gp,并應(yīng)用如下壓縮標準:
① H.264 Baseline Profile Level 3.0 video锐锣,在30 f/s 的情況下分辨率達到640×480像素腌闯。注意:不支持B frames;
② MPEG4規(guī)范的視頻部分雕憔;
③ 眾多的音頻格式姿骏,包含在音頻技術(shù)的列表里,如AAC斤彼、Apple Lossless (ALAC)分瘦、A-law蘸泻、IMA/ADPCM(IMA4)、線性PCM嘲玫、μ-law和Core Audio等悦施。
媒體播放器框架:可用于播放應(yīng)用程序中全屏或部分屏的電影。
AV Foundation :可以對電影的捕捉和播放進行管理去团。
Core Media :對較高級框架使用的底層類型進行描述抡诞,同時也提供一些底層接口,用于對媒體進行處理渗勘。
4)Cocoa Touch 觸摸層:
包括 Address Book UI Framework沐绒、Event Kit UI Framework、Game Kit Framework旺坠、iAd Framework乔遮、Map Kit Framework、Message UI Framework取刃、UIKit Framework 等等蹋肮,這一層基本都是基于 Objective-c 的接口。
包含了用于 iOS 應(yīng)用開發(fā)的圖形界面構(gòu)建的類璧疗。其中所有的類坯辩,都以“UI”為前綴。
1)UIKit
所有的iOS應(yīng)用程序都基于UIKit崩侠,你不能是應(yīng)用程序脫離這個框架漆魔。UIKit提供了在屏幕上繪制的機制,捕獲事件却音,和創(chuàng)建通用用戶界面元素改抡。UIKit也通過管理顯示在屏幕上的組件來組織復(fù)雜的項目。
使用UIKit可以:
? ? ? ? ? ? ? ?構(gòu)建和管理你的用戶界面
? ? ? ? ? ? ? ?捕獲觸摸和基于移動的事件
? ? ? ? ? ? ? ?呈現(xiàn)文字和web內(nèi)容
? ? ? ? ? ? ? ?優(yōu)化你的多任務(wù)程序
? ? ? ? ? ? ? ?創(chuàng)建定制的用戶界面元素
(2)電話本UI框架(Address Book UI Framework)
電話本UI框架(AddressBookUI.framework)是一個Objective-C標準程序接口系瓢,主要用來創(chuàng)建新聯(lián)系人阿纤,編輯和選擇電話本中存在的聯(lián)系人。它簡化了在iPhone應(yīng)用中顯示聯(lián)系人信息夷陋,并確保所有應(yīng)用使用相同的程序接口欠拾,保證應(yīng)用在不同平臺的一致性。