2015-12-15 14:35:41 3076瀏覽
上一節(jié)我們講到了iOS軟件體系結(jié)構(gòu)中的基礎(chǔ)層Core OS,那么在核心操作系統(tǒng)層之上的就是iOS系統(tǒng)的核心服務(wù)層Core Service,核心服務(wù)層主要由兩個(gè)部分組成:核心服務(wù)庫和基于核心服務(wù)的高級(jí)功能。本文對(duì)這兩種功能做一詳解。
一、核心服務(wù)層所包含的庫如下:
1、Address Book Framework
用于地址簿管理,開發(fā)者可以通過這個(gè)庫管理電話聯(lián)系人列表,訪問聯(lián)系人列表的數(shù)據(jù)庫,然后進(jìn)行添加、刪除和編輯等其他操作。
2、CFNetwork Framework
提供了一系列的接口,可以讓開發(fā)者更方便、快捷地進(jìn)行網(wǎng)絡(luò)溝通。開發(fā)者無需關(guān)注過多的細(xì)節(jié),可以花更多的精力在應(yīng)用程序上面。
3、Core Data Framework
用于管理基于MVC模式(Model模型、View視圖、Controller控制器)應(yīng)用程序的數(shù)據(jù)模型,它是一個(gè)關(guān)系數(shù)據(jù)管理系統(tǒng)。Core Data提供了在存儲(chǔ)器中保存、管理、更改以及獲取數(shù)據(jù)等基礎(chǔ)功能。
4、Core Foundation Framework
它是一個(gè)C語言庫,為應(yīng)用程序提供了各種基礎(chǔ)設(shè)施。
5、Core Location Framework
提供定位的功能,可以運(yùn)用GPS、3G和WiFi來偵測(cè)用戶的位置,地圖應(yīng)用程序可以使用這個(gè)功能來顯示用戶在地圖上的位置。開發(fā)者可以將其加入到應(yīng)用程序中實(shí)現(xiàn)相關(guān)的功能,如根據(jù)位置提供附近餐館、商店以及銀行等的搜索服務(wù)。
6、Core Media Framework
提供比較底層的媒體處理,通常很少用到這個(gè)庫。有需要用到的讀者可以觀看扣丁學(xué)堂iOS在線視頻講座,講師對(duì)其講述的很簡(jiǎn)潔明了,易于操作。
7、Core Telephony Framework
提供接口幫助用戶收集電話商的服務(wù)信息,例如,用戶可以知道自己用的是哪個(gè)電話商的服務(wù),知道自己的設(shè)備現(xiàn)在是不是在打電話。
8、Event Kit Framework
可以讓用戶在自己的設(shè)備上訪問日歷事件,用它來獲取現(xiàn)有的日歷事件或者添加一個(gè)新的事件,例如進(jìn)行鬧鐘控制。
9、Foundation Framework
提供的功能和Core Foundation Framework提供的功能差不多,區(qū)別在于它是Objective—C庫。
10、Mobile Core Services Framework
為UTI(Uniform Type Identifiers,統(tǒng)一類型的標(biāo)識(shí)符)定義了比較底層的數(shù)據(jù)類型。
11、Quick Look Framework
可以讓用戶對(duì)文件的內(nèi)容進(jìn)行預(yù)覽。
12、Store Kit Framework
為應(yīng)用程序與App Store(應(yīng)用程序商店)之間的通信提供服務(wù),應(yīng)用程序可以通過該庫從AppStore接收那些用戶需要的產(chǎn)品信息,并顯示出來供用戶購買。當(dāng)用戶需要購買某件產(chǎn)品時(shí),程序調(diào)用Store Kit來收集購買信息。
13、System Configuration Framework
通過該庫可以讓用戶決定設(shè)備的網(wǎng)絡(luò)配置,例如,是否使用WiFi連接或者是否連接某個(gè)網(wǎng)絡(luò)服務(wù)。
二、基于核心服務(wù)的高級(jí)功能
1、BlockObjects
C語言構(gòu)造體,這也是iOS開發(fā)者們非常常用的一個(gè)功能,開發(fā)者可以將它插入到C代碼或者Objective—C代碼中。從本質(zhì)上來說,一個(gè)Block Objects就是一個(gè)封閉函數(shù),或者說是伴隨這個(gè)函數(shù)的數(shù)據(jù)。一般來說,Block Objects可以運(yùn)用到下面幾種情形:
①代替代理和代理方法。
②代替回調(diào)函數(shù)。
③與分發(fā)堆棧一起實(shí)現(xiàn)異步工作。
2、Grand Central Dispatch
簡(jiǎn)稱GCD,它可以根據(jù)處理器的數(shù)量調(diào)整應(yīng)用程序的工作負(fù)荷,而且只會(huì)使用任務(wù)所需數(shù)量的線程,從而提高應(yīng)用程序的效率。例如,在不使用GCD時(shí),如果一個(gè)應(yīng)用程序在最大負(fù)載時(shí)需要20條線程,那么即使在空載時(shí),它也會(huì)建立20條線程,并占用相關(guān)資源。而使用GCD時(shí)則不然,GCD會(huì)釋放閑置資源,以加快整個(gè)系統(tǒng)的響應(yīng)速度。
3、InApp Purchase
基于Store Kit Framework的高級(jí)功能,通過這個(gè)功能用戶可以讓自己的應(yīng)用程序很好地處理賬號(hào)、App Store與應(yīng)用程序之間的關(guān)系。
4、Location Services
基于Core Location Framework的服務(wù)功能,可以讓應(yīng)用程序給用戶定位,查找用戶當(dāng)前位置。
5、SQLite(嵌入式數(shù)據(jù)庫)
可以讓iOS開發(fā)者在應(yīng)用程序里面嵌入一個(gè)輕量級(jí)的SQL數(shù)據(jù)庫,無需建立一個(gè)分開的數(shù)據(jù)庫服務(wù)器,就可以在應(yīng)用程序里面創(chuàng)建一個(gè)Database文件,然后進(jìn)行列表和記錄的管理。
6、XML Support
可以讓開發(fā)者對(duì)XML文件講行解析。
認(rèn)識(shí)了iOS軟件的體系結(jié)構(gòu)的核心服務(wù)層Core Service,下一節(jié)我們來研究最上面的兩層結(jié)構(gòu)都有哪些專屬功能和負(fù)責(zé)區(qū)域,最上面兩層分為媒體層和可輕觸層,具體介紹我們隨時(shí)關(guān)注扣丁學(xué)堂資訊的更新即可。
查看更多關(guān)于“iOS資訊”的相關(guān)文章>>