Free性欧美Hd另类_精品亚洲欧美视频在线观看_freesex欧美喷水_字幕av在线_久久久久久国产免费_伊人5566

中培偉業(yè)IT資訊頻道
您現(xiàn)在的位置:首頁(yè) > IT資訊 > 精選文章 > iOS系統(tǒng)

iOS系統(tǒng)

2021-07-02 15:08:40 | 來(lái)源:中培企業(yè)IT培訓(xùn)網(wǎng)
一iOS系統(tǒng)大家應(yīng)該就不陌生了。它的構(gòu)架由上到下可分為:可觸摸層(Cocoa Touch layer)、媒體層(Media layer)、核心服務(wù)層(Core Services layer)、核心操作系統(tǒng)層(Core OS layer)。每一層給大家提供的服務(wù)都有所不一樣。不同的配置可以使用的軟件也就會(huì)有不同。與安卓系統(tǒng)也有著許多的不同。
iOS基于UNIX系統(tǒng),iOS的系統(tǒng)架構(gòu)分為四層,由上到下一次為:可觸摸層(Cocoa Touch layer)、媒體層(Media layer)、核心服務(wù)層(Core Services layer)、核心操作系統(tǒng)層(Core OS layer),如下圖:
(1)觸摸層:為應(yīng)用程序開發(fā)提供了各種常用的框架并且大部分框架與界面有關(guān),本質(zhì)上來(lái)說(shuō)它負(fù)責(zé)用戶在iOS設(shè)備上的觸摸交互操作。如NotificationCenter的本地通知和遠(yuǎn)程推送服務(wù),iAd廣告框架,GameKit游戲工具框架,消息UI框架,圖片UI框架,地圖框架,連接手表框架,自動(dòng)適配等等
(2)媒體層:提供應(yīng)用中視聽方面的技術(shù),如圖形圖像相關(guān)的CoreGraphics,CoreImage,GLKit,OpenGL ES,CoreText,ImageIO等等。聲音技術(shù)相關(guān)的CoreAudio,OpenAL,AVFoundation,視頻相關(guān)的CoreMedia,Media Player框架,音視頻傳輸?shù)腁irPlay框架等等。
(3)核心服務(wù)層:提供給應(yīng)用所需要的基礎(chǔ)的系統(tǒng)服務(wù)。如Accounts賬戶框架,廣告框架,數(shù)據(jù)存儲(chǔ)框架,網(wǎng)絡(luò)連接框架,地理位置框架,運(yùn)動(dòng)框架等等。這些服務(wù)中的最核心的是CoreFoundation和Foundation框架,定義了所有應(yīng)用使用的數(shù)據(jù)類型。CoreFoundation是基于C的一組接口,F(xiàn)oundation是對(duì)CoreFoundation的OC封裝。
(4)核心操作系統(tǒng)層包括:包含大多數(shù)低級(jí)別接近硬件的功能,它所包含的框架常常被其它框架所使用。Accelerate框架包含數(shù)字信號(hào),線性代數(shù),圖像處理的接口。針對(duì)所有的iOS設(shè)備硬件之間的差異做優(yōu)化,保證寫一次代碼在所有iOS設(shè)備上高效運(yùn)行。CoreBluetooth框架利用藍(lán)牙和外設(shè)交互,包括掃描連接藍(lán)牙設(shè)備,保存連接狀態(tài),斷開連接,獲取外設(shè)的數(shù)據(jù)或者給外設(shè)傳輸數(shù)據(jù)等等。Security框架提供管理證書,公鑰和私鑰信任策略,keychain,hash認(rèn)證數(shù)字簽名等等與安全相關(guān)的解決方案。
框架是一個(gè)目錄,這個(gè)目錄包含了共享庫(kù),訪問(wèn)共享庫(kù)里代碼的頭文件,和其它的圖片和聲音的資源文件。一個(gè)共享庫(kù)定義的方法或函數(shù)可以被應(yīng)用程序調(diào)用。
IOS提供了很多你可以在應(yīng)用程序里調(diào)用的框架。要使用一個(gè)框架,需要將它添加到你的項(xiàng)目中,你的項(xiàng)目才可以使用它。許多應(yīng)用程序都使用了如Foundation、UIKit、和Core Graphics這些框架。根據(jù)你為應(yīng)用程序選擇的模版,相關(guān)的框架就已經(jīng)被自動(dòng)引入了。如果默認(rèn)加入的框架不能滿足你的應(yīng)用程序的需求,你也可以加入需要的框架。
看看HelloWorld.xcodeproj項(xiàng)目里都包含了哪些框架(注:HelloWorld.xcodeproj是《Your First iOS App tutorial》這篇教程里的一個(gè)項(xiàng)目)
1.在XCode里打開HelloWorld.xcodeproj項(xiàng)目(如果還沒(méi)有打開)
2. 在project navigator窗口里點(diǎn)擊,點(diǎn)擊Frameworks目錄前面的三角形圖標(biāo)。你會(huì)看到:
UIKit.framework,Foundation.framework, 和CoreGraphics.framework
3. 點(diǎn)擊任意一個(gè)framework前面的三角,然后再點(diǎn)擊Headers前面的三角,可以看到框架里的頭文件。
每個(gè)框架對(duì)應(yīng)IOS系統(tǒng)里的一層,每層建立在它下面層的上面。應(yīng)該盡量使用上層的框架來(lái)代替下面的框架。更高層次的框架是對(duì)底層框架基于對(duì)象的抽象。
iOS應(yīng)用程序基于Foundation和UIKit框架
在你開發(fā)程序時(shí),主要使用框架就是Foundation和UIKit,因?yàn)樗鼈儼四阈枰拇蟛糠謻|西。
Foundation框架為所有的應(yīng)用程序提供基本系統(tǒng)服務(wù)
你的應(yīng)用程序,UIKit和其它的框架都是建立在Foundation框架上面的。Foundation框架是用Object-C對(duì)Core Foundation框架里許多特性的封裝。
使用Foundation可以:
創(chuàng)建和管理集合,比如數(shù)組和字典
訪問(wèn)存儲(chǔ)在應(yīng)用程序里的圖片和其它資源
創(chuàng)建和管理字符串
提交和接收通知
創(chuàng)建日期和時(shí)間對(duì)象
自動(dòng)發(fā)現(xiàn)IP網(wǎng)絡(luò)上的設(shè)備
操作URL流
執(zhí)行異步代碼
你已經(jīng)在《Your First iOS App》里使用到了Foundation框架。比如,你使用一個(gè)NSString類的實(shí)例存儲(chǔ)用戶輸入的userName。你還使用了Foundation框架的initWithFormat方法創(chuàng)建了一個(gè)字符串。
UIKit框架提供創(chuàng)建基于觸摸用戶界面的類
所有的iOS應(yīng)用程序都基于UIKit,你不能是應(yīng)用程序脫離這個(gè)框架。UIKit提供了在屏幕上繪制的機(jī)制,捕獲事件,和創(chuàng)建通用用戶界面元素。UIKit也通過(guò)管理顯示在屏幕上的組件來(lái)組織復(fù)雜的項(xiàng)目。
使用UIKit可以:
構(gòu)建和管理你的用戶界面
捕獲觸摸和基于移動(dòng)的事件
呈現(xiàn)文字和web內(nèi)容
優(yōu)化你的多任務(wù)程序
創(chuàng)建定制的用戶界面元素
在《YouFirst iOS App Tutorial》里,你也使用到了UIKit。當(dāng)你仔細(xì)查看程序是怎么運(yùn)行起來(lái)的時(shí)候,你會(huì)看到UIApplicationMain函數(shù)創(chuàng)建一個(gè)UIApplication類的實(shí)例,這個(gè)實(shí)例會(huì)捕獲進(jìn)來(lái)的用戶事件。你實(shí)現(xiàn)UITextFieldDelegate協(xié)議,然后在用戶按下Done時(shí)隱藏鍵盤。實(shí)際上,你是在使用UIKit創(chuàng)建用戶界面上的UITextField, UILabel,和UIButton類。
你需要知道的其它重要的框架
Core Data , Core Graphics, Core Animation,和OpenGLES框架都是高級(jí)的技術(shù)。所以這些框架對(duì)于你開發(fā)應(yīng)用程序也是很重要的,它們都需要時(shí)間去學(xué)習(xí)和掌握。
Core Data框架管著理應(yīng)用程序數(shù)據(jù)模型
Core Data提供對(duì)象的管理,使用Core Data,你可以創(chuàng)建模型對(duì)象,并管理這些對(duì)象。你管理這這些對(duì)象間的聯(lián)系并修改數(shù)據(jù)。Core Data提供的內(nèi)建SQLlite技術(shù)可以高效的管理數(shù)據(jù)。
使用Core Data可以:
在庫(kù)里存儲(chǔ)和接收對(duì)象
提供基本的undo/redo
自動(dòng)驗(yàn)證屬性值
過(guò)濾、分組和優(yōu)化內(nèi)存中的數(shù)據(jù)
用[NSFetchedResultsController]管理表視圖中的結(jié)果
支持基于文檔的應(yīng)用程序
Core Graphics框架幫助你創(chuàng)建圖形
高質(zhì)量的圖形對(duì)于所有的iOS應(yīng)用程序都是很重要的。在iOS中最簡(jiǎn)單且最快捷的創(chuàng)建圖形的方式是使用UIKit框架提供的基于預(yù)渲染圖形的視圖和控件,然后讓UIKit和iOS完成繪制。但是當(dāng)你需要?jiǎng)?chuàng)建復(fù)雜的圖形時(shí),Core Graphics則提供了更底層的庫(kù)來(lái)幫助你。
使用Core Graphics可以:
創(chuàng)建基于路徑的繪圖
抗鋸齒渲染
添加梯度、圖片和顏色
Use coordinate-space transformations.
創(chuàng)建、顯示和分析PDF文檔
Core Animation允許你創(chuàng)建高級(jí)的動(dòng)畫和虛擬效果
UIKit提供建立在Core Animation之上的動(dòng)畫。如果你需要比UIKit能力更高級(jí)的功能,可以直接使用Core Animation。Core Animation接口包含在Quartz Core框架里。使用Core Animation可以創(chuàng)建嵌套的對(duì)象,并且可以對(duì)它們操作、旋轉(zhuǎn)、縮放和轉(zhuǎn)換。使用Core animation,你可以創(chuàng)建動(dòng)態(tài)的用戶界面而不用使用更底層的圖形API,如OpenGL ES。
使用Core Animation可以:
創(chuàng)建定制動(dòng)畫
添加定時(shí)函數(shù)和圖形
支持幀動(dòng)畫
Specify graphical layout constraints.
Group multiple-layer changes into anatomic update.
OpenGL ES 框架提供2D和3D繪圖工具
OpenGL ES支持2D和3D繪圖,Apple的OpenGL ES實(shí)現(xiàn)通過(guò)硬件提供了高速的全屏游戲式的應(yīng)用程序。
使用OpenGL ES可以:
創(chuàng)建2D和3D圖形
創(chuàng)建更復(fù)雜的圖形,比如數(shù)據(jù)虛擬化、模擬飛行,或者視頻游戲
訪問(wèn)底層圖形設(shè)備
根據(jù)需要向項(xiàng)目中添加其它框架
還有許多框架可以添加到你的程序里。當(dāng)你決定使用一個(gè)框架但項(xiàng)目里卻沒(méi)有引入這個(gè)框架時(shí),你就需要將它加入到你的項(xiàng)目里。
將別的框架添加到工程里
1 打開工程
2 點(diǎn)擊項(xiàng)目名,顯示project editor
3 在TARGETS列表中選中要添加框架的工程
4 點(diǎn)擊project editor頂部的Build Phases
5 點(diǎn)擊Link Binary With Libraries前面的三角形打開這個(gè)分組
6 通過(guò)點(diǎn)擊添加(+)來(lái)添加一個(gè)框架
7 在列表中選擇一個(gè)框架,然后點(diǎn)擊Add按鈕
表 1  設(shè)備中的框架
名稱最先引入前綴描述
Accelerate.framework
4.0
cblas
,
vDSP
包含加速數(shù)學(xué)和DSP函數(shù)。 請(qǐng)查看加速框架參考。
AddressBook.framework
2.0
AB
包含直接訪問(wèn)用戶聯(lián)系人數(shù)據(jù)庫(kù)的函數(shù)。請(qǐng)查看地址簿框架參考。
AddressBookUI.framework
2.0
AB
包含顯示系統(tǒng)定義的聯(lián)系人挑選界面和編輯界面的類。請(qǐng)查看iOS地址簿UI框架參考。
AssetsLibrary.framework
4.0
AL
包含顯示用戶照片和視頻的類,請(qǐng)查看資源庫(kù)框架參考。
AudioToolbox.framework
2.0
AU
,
Audio
包含處理音頻流數(shù)據(jù)以及播放或錄制音頻的接口。請(qǐng)查看音頻工具箱框架參考。
AudioUnit.framework
2.0
AU
,
Audio
包含加載并使用音頻單元的接口。請(qǐng)查看音頻單元框架參考.
AVFoundation.framework
2.2
AV
包含播放或錄制音頻的Objective-C接口。請(qǐng)查看AV Foundation框架參考.。
CFNetwork.framework
2.0
CF
包含通過(guò)WiFi或者蜂窩無(wú)線訪問(wèn)網(wǎng)絡(luò)的接口。請(qǐng)查看CFNetwork框架參考。
CoreAudio.framework
2.0
Audio
包含Core Audio框架使用的各種數(shù)據(jù)類型。請(qǐng)查看Core Audio 框架參考。
CoreData.framework
3.0
NS
包含管理應(yīng)用程序數(shù)據(jù)模型的接口。請(qǐng)查看Core Data 框架參考。
CoreFoundation.framework
2.0
CF
提供一些基本軟件服務(wù),包括常見數(shù)據(jù)類型抽象、字符串實(shí)用工具、群體類型實(shí)用工具、資源管理以及偏好設(shè)置。請(qǐng)查看rovCore Foundation框架參考。
CoreGraphics.framework
2.0
CG
包含Quartz 2D接口。請(qǐng)查看Core Graphics 框架參考。
CoreLocation.framework
2.0
CL
包含確定用戶方位信息的接口。請(qǐng)查看Core Location 框架參考。
CoreMedia.framework
4.0
CM
包含操作音頻和視頻的底層例程。請(qǐng)查看Core Media 框架參考。
CoreMotion.framework
4.0
CM
包含訪問(wèn)加速度計(jì)以及陀螺儀的數(shù)據(jù)的接口。請(qǐng)查看Core Motion 框架參考。
CoreTelephony.framework
4.0
CT
包含訪問(wèn)電話相關(guān)的信息的例程。請(qǐng)查看Core Telephony 框架參考。
CoreText.framework
3.2
CT
包含一個(gè)文本的布局渲染引擎。請(qǐng)查看Core Text參考集.。
CoreVideo.framework
4.0
CV
包含操作音頻和視頻的底層例程。請(qǐng)不要直接使用該框架。
EventKit.framework
4.0
EK
包含訪問(wèn)用戶日歷事件數(shù)據(jù)的接口。請(qǐng)查看Event Kit 框架參考。
EventKitUI.framework
4.0
EK
包含顯示標(biāo)準(zhǔn)系統(tǒng)日歷界面的類。請(qǐng)查看Event Kit UI 框架參考。
ExternalAccessory.framework
3.0
EA
包含與外設(shè)進(jìn)行通訊的接口。請(qǐng)查看External Accessory 框架參考。
Foundation.framework
2.0
NS
包含Cocoa Foundation層的類和方法。請(qǐng)查看Foundation 框架參考。
GameKit.framework
3.0
GK
包含點(diǎn)對(duì)點(diǎn)連接管理接口。請(qǐng)查看Game Kit 框架參考。
iAd.framework
4.0
AD
包含在應(yīng)用程序中顯示廣告的類。請(qǐng)查看iAd 框架參考。
ImageIO.framework
4.0
CG
包含讀取或?qū)懭雸D像數(shù)據(jù)的類。請(qǐng)查看Image I/O 參考集。
IOKit.framework
2.0N/A包含設(shè)備所使用的接口。請(qǐng)不要直接使用此框架。
MapKit.framework
3.0
MK
包含將地圖界面嵌入到應(yīng)用程序的類,也可以用于查找地理編碼反向坐標(biāo)。請(qǐng)查看Map Kit框架參考。
MediaPlayer.framework
2.0
MP
包含顯示全屏視頻的接口。請(qǐng)查看Media Player 框架參考。
MessageUI.framework
3.0
MF
包含撰寫和排隊(duì)發(fā)送電子郵件信息的界面。請(qǐng)查看Message UI 框架參考。
MobileCoreServices.framework
3.0
UT
定義系統(tǒng)支持的統(tǒng)一類型標(biāo)識(shí)符(UTIs)。
OpenAL.framework
2.0
AL
包含OpenAL接口。OpenAL是一個(gè)跨平臺(tái)的方位音頻庫(kù)。如需進(jìn)一步了解,請(qǐng)?jiān)L問(wèn)http://www.openal.org。
OpenGLES.framework
2.0
EAGL
,
GL
包含OpenGL ES接口。OpenGL ES框架是OpenGL跨平臺(tái)2D和3D渲染庫(kù)的跨平臺(tái)版本。請(qǐng)查看OpenGL ES 框架參考。
QuartzCore.framework
2.0
CA
包含Core Animation接口。請(qǐng)查看Quartz Core 框架參考。
QuickLook.framework
4.0
QL
包含預(yù)覽文件接口。請(qǐng)查看Quick Look 框架參考。
Security.framework
2.0
CSSM
,
Sec
包含管理證書、公鑰私鑰以及信任策略的接口。請(qǐng)查看Security框架參考。
StoreKit.framework
3.0
SK
包含用于處理與應(yīng)用程序內(nèi)購(gòu)買相關(guān)的財(cái)務(wù)交易。請(qǐng)查看Store Kit 框架參考。
SystemConfiguration.framework
2.0
SC
包含用于處理設(shè)備網(wǎng)絡(luò)配置的接口。請(qǐng)查看System Configuration框架參考。
UIKit.framework
2.0
UI
包含iOS應(yīng)用程序用戶界面層使用的類和方法。請(qǐng)查看UIKit 框架參考。
(二)常用的iOS SDK框架
Accelerate.framework 包含加速數(shù)學(xué)和DSP函數(shù)。
AddressBook.framework 包含直接訪問(wèn)用戶聯(lián)系人數(shù)據(jù)庫(kù)的函數(shù)。
AddressBookUI.framework 包含顯示系統(tǒng)定義的聯(lián)系人挑選界面和編輯界面的類。
AssetsLibrary.framework 包含顯示用戶照片和視頻的類
AudioToolbox.framework 包含處理音頻流數(shù)據(jù)以及播放或錄制音頻的接口。
AVFoundation.framework 包含播放或錄制音頻的Objective-C接口。
AudioUnit.framework 包含加載并使用音頻單元的接口。
CFNetwork.framework 包含通過(guò)WiFi或者蜂窩無(wú)線訪問(wèn)網(wǎng)絡(luò)的接口。
CoreAudio.framework 包含Core Audio框架使用的各種數(shù)據(jù)類型。
CoreData.framework 包含管理應(yīng)用程序數(shù)據(jù)模型的接口。
CoreFoundation.framework 提供一些基本軟件服務(wù),包括常見數(shù)據(jù)類型抽象、字符串實(shí)用工具、群體類型實(shí)用工具、資源管理以及偏好設(shè)置。
CoreGraphics.framework 包含Quartz 2D接口。
CoreLocation.framework 包含確定用戶方位信息的接口。
CoreMedia.framework 包含操作音頻和視頻的底層例程。
CoreMotion.framework 包含訪問(wèn)加速度計(jì)以及陀螺儀的數(shù)據(jù)的接口。
CoreTelephony.framework 包含訪問(wèn)電話相關(guān)的信息的例程。
CoreText.framework 包含一個(gè)文本的布局渲染引擎。
CoreVideo.framework 包含操作音頻和視頻的底層例程。
EventKit.framework 包含訪問(wèn)用戶日歷事件數(shù)據(jù)的接口。
EventKitUI.framework 包含顯示標(biāo)準(zhǔn)系統(tǒng)日歷界面的類。
ExternalAccessory.framework 包含與外設(shè)進(jìn)行通訊的接口。
Foundation.framework 包含Cocoa Foundation層的類和方法。
GameKit.framework 包含點(diǎn)對(duì)點(diǎn)連接管理接口。
iAd.framework 包含在應(yīng)用程序中顯示廣告的類。
ImageIO.framework 包含讀取或?qū)懭雸D像數(shù)據(jù)的類。
IOKit.framework 包含設(shè)備所使用的接口。
MapKit.framework 包含將地圖界面嵌入到應(yīng)用程序的類,也可以用于查找地理編碼反向坐標(biāo)。
MediaPlayer.framework 包含顯示全屏視頻的接口。
MessageUI.framework 包含撰寫和排隊(duì)發(fā)送電子郵件信息的界面。
MobileCoreServices.framework 定義系統(tǒng)支持的統(tǒng)一類型標(biāo)識(shí)符(UTIs)。
OpenAL.framework 包含OpenAL接口。OpenAL是一個(gè)跨平臺(tái)的方位音頻庫(kù)。
OpenGLES.framework包含OpenGL ES接口。OpenGL ES框架是OpenGL跨平臺(tái)2D和3D渲染庫(kù)的跨平臺(tái)版本。
QuartzCore.framework 包含Core Animation接口。。
QuickLook.framework 包含預(yù)覽文件接口。
Security.framework 包含管理證書、公鑰私鑰以及信任策略的接口。
StoreKit.framework 包含用于處理與應(yīng)用程序內(nèi)購(gòu)買相關(guān)的財(cái)務(wù)交易。
SystemConfiguration.framework 包含用于處理設(shè)備網(wǎng)絡(luò)配置的接口。
UIKit.framework 包含iOS應(yīng)用程序用戶界面層使用的類和方法。
想要了解更多關(guān)于IOS的信息,請(qǐng)繼續(xù)關(guān)注中培偉業(yè)。
 

相關(guān)閱讀

主站蜘蛛池模板: 蝌蚪久久 | 老师开裆丝袜喷水视频 | 亚洲午夜久久久国产精品 | 国产高潮流白浆免费观看 | 国产精品视频xxx | 国产免费成人在线 | 男女黄色又爽大片 | 学生在线精品一区二区 | 欧美日韩视频精品二区 | 久久免费看a级毛毛片 | 亚洲精品无码一区二区三区在线高 | 国产依人在线 | 成人AAA片一区国产精品 | 人妻偷人VA精品国产旡码 | 精国品产一区二区三区有限公司 | 国产精品免费视频二三区 | 色综合久久婷婷88 | 精品午夜福利在线观看 | 无人在线视频观看免费 | 中文字幕第一页卡通动漫在线 | 孕妇奶水仑乱A级毛片免费看 | 天天操好逼 | 一级做a爰性色毛片免费视频 | 亚洲综合国产 | 国产高清在线观看AV片 | 囯产无码大放纵视频 | 麻豆国产av超爽剧情系列 | 日产精品久久久久久久性色91 | 国产午夜福利精品一区 | 欧美www视频在线观看 | 内射爽无广熟女亚洲 | 露脸国产精品自产拍在线观看 | 中文字幕丰满人伦在线 | 久久亚洲人 | 亚洲日韩高清aⅴ在线观看 四区在线观看 | 欧美视频不卡 | 亚洲Av无码一区二区三区在线观看 | 亚洲国产精品无码成人片久久 | 久久久99国产 | 91大神在线免费?看 h免费看 | 久久99亚洲精品久久 |