本附錄介紹iOS系統(tǒng)包含的框架,它們?yōu)榫帉慽OS平臺(tái)的軟件提供必要的接口。下面的表格盡可能地列出框架中的類、方法、函數(shù)、類型以及常量使用的關(guān)鍵前綴,請(qǐng)避免在您的符號(hào)名稱中使用這些前綴。
設(shè)備中的框架
表B-1描述iOS設(shè)備提供的框架,它們位于<Xcode>
/Platforms/iPhoneOS.platform/Developer/SDKs/
<iOS_SDK>
/System/Library/Frameworks
目錄。路徑中的<Xcode>表示Xcode的安裝目錄, <iOS_SDK>則表示目標(biāo)SDK版本。表中標(biāo)題為“最先引入”的那一列表示首次引入相關(guān)框架的的iOS系統(tǒng)版本。
名稱 | 最先引入 | 前綴 | 描述 |
---|---|---|---|
| 4.0 |
| 包含加速數(shù)學(xué)和DSP函數(shù)。 請(qǐng)查看 加速框架參考 。 |
| 2.0 |
| 包含直接訪問(wèn)用戶聯(lián)系人數(shù)據(jù)庫(kù)的函數(shù)。請(qǐng)查看地址簿框架參考。 |
| 2.0 |
| 包含顯示系統(tǒng)定義的聯(lián)系人挑選界面和編輯界面的類。請(qǐng)查看iOS地址簿UI框架參考 。 |
| 4.0 |
| 包含顯示用戶照片和視頻的類,請(qǐng)查看資源庫(kù)框架參考 。 |
| 2.0 |
| 包含處理音頻流數(shù)據(jù)以及播放或錄制音頻的接口。請(qǐng)查看音頻工具箱框架參考。 |
| 2.0 |
| 包含加載并使用音頻單元的接口。請(qǐng)查看音頻單元框架參考. |
| 2.2 |
| 包含播放或錄制音頻的Objective-C接口。請(qǐng)查看AV Foundation框架參考.。 |
| 2.0 |
| 包含通過(guò)WiFi或者蜂窩無(wú)線訪問(wèn)網(wǎng)絡(luò)的接口。請(qǐng)查看CFNetwork框架參考。 |
| 2.0 |
| 包含Core Audio框架使用的各種數(shù)據(jù)類型。請(qǐng)查看Core Audio 框架參考 。 |
| 3.0 |
| 包含管理應(yīng)用程序數(shù)據(jù)模型的接口。請(qǐng)查看Core Data 框架參考 。 |
| 2.0 |
| 提供一些基本軟件服務(wù),包括常見(jiàn)數(shù)據(jù)類型抽象、字符串實(shí)用工具、群體類型實(shí)用工具、資源管理以及偏好設(shè)置。請(qǐng)查看rovCore Foundation框架參考。 |
| 2.0 |
| 包含Quartz 2D接口。請(qǐng)查看Core Graphics 框架參考 。 |
| 2.0 |
| 包含確定用戶方位信息的接口。請(qǐng)查看Core Location 框架參考。 |
| 4.0 |
| 包含操作音頻和視頻的底層例程。請(qǐng)查看Core Media 框架參考。 |
| 4.0 |
| 包含訪問(wèn)加速度計(jì)以及陀螺儀的數(shù)據(jù)的接口。請(qǐng)查看Core Motion 框架參考。 |
| 4.0 |
| 包含訪問(wèn)電話相關(guān)的信息的例程。請(qǐng)查看Core Telephony 框架參考。 |
| 3.2 |
| 包含一個(gè)文本的布局渲染引擎。請(qǐng)查看Core Text參考集.。 |
| 4.0 |
| 包含操作音頻和視頻的底層例程。請(qǐng)不要直接使用該框架。 |
| 4.0 |
| 包含訪問(wèn)用戶日歷事件數(shù)據(jù)的接口。請(qǐng)查看Event Kit 框架參考。 |
| 4.0 |
| 包含顯示標(biāo)準(zhǔn)系統(tǒng)日歷界面的類。請(qǐng)查看Event Kit UI 框架參考。 |
| 3.0 |
| 包含與外設(shè)進(jìn)行通訊的接口。請(qǐng)查看External Accessory 框架參考。 |
| 2.0 |
| 包含Cocoa Foundation層的類和方法。請(qǐng)查看Foundation 框架參考。 |
| 3.0 |
| 包含點(diǎn)對(duì)點(diǎn)連接管理接口。請(qǐng)查看Game Kit 框架參考。 |
| 4.0 |
| 包含在應(yīng)用程序中顯示廣告的類。請(qǐng)查看iAd 框架參考。 |
| 4.0 |
| 包含讀取或?qū)懭雸D像數(shù)據(jù)的類。請(qǐng)查看Image I/O 參考集。 |
| 2.0 | N/A | 包含設(shè)備所使用的接口。請(qǐng)不要直接使用此框架。 |
| 3.0 |
| 包含將地圖界面嵌入到應(yīng)用程序的類,也可以用于查找地理編碼反向坐標(biāo)。請(qǐng)查看Map Kit框架參考。 |
| 2.0 |
| 包含顯示全屏視頻的接口。請(qǐng)查看Media Player 框架參考。 |
| 3.0 |
| 包含撰寫和排隊(duì)發(fā)送電子郵件信息的界面。請(qǐng)查看Message UI 框架參考。 |
| 3.0 |
| 定義系統(tǒng)支持的統(tǒng)一類型標(biāo)識(shí)符(UTIs)。 |
| 2.0 |
| 包含OpenAL接口。OpenAL是一個(gè)跨平臺(tái)的方位音頻庫(kù)。如需進(jìn)一步了解,請(qǐng)?jiān)L問(wèn)http://www.openal.org。 |
| 2.0 |
| 包含OpenGL ES接口。OpenGL ES框架是OpenGL跨平臺(tái)2D和3D渲染庫(kù)的跨平臺(tái)版本。請(qǐng)查看OpenGL ES 框架參考。 |
| 2.0 |
| 包含Core Animation接口。請(qǐng)查看Quartz Core 框架參考。 |
| 4.0 |
| 包含預(yù)覽文件接口。請(qǐng)查看Quick Look 框架參考。 |
| 2.0 |
| 包含管理證書、公鑰私鑰以及信任策略的接口。請(qǐng)查看Security框架參考。 |
| 3.0 |
| 包含用于處理與應(yīng)用程序內(nèi)購(gòu)買相關(guān)的財(cái)務(wù)交易。請(qǐng)查看 Store Kit 框架參考。 |
| 2.0 |
| 包含用于處理設(shè)備網(wǎng)絡(luò)配置的接口。請(qǐng)查看System Configuration框架參考。 |
| 2.0 |
| 包含iOS應(yīng)用程序用戶界面層使用的類和方法。請(qǐng)查看UIKit 框架參考。 |
模擬器的框架
雖然編寫代碼應(yīng)該面向設(shè)備框架,但是在測(cè)試的過(guò)程中,您也需要針對(duì)模擬器編譯代碼。設(shè)備和模擬器的框架稍有區(qū)別。模擬器將幾個(gè)Mac OS X框架作為其自身實(shí)現(xiàn)的一部分。另外,由于系統(tǒng)的限制,設(shè)備框架的確切接口有可能和模擬器框架稍有不同。如果您需要這些框架的列表以及設(shè)備和模擬器框架之間的差異信息,請(qǐng)查看iOS 開(kāi)發(fā)指南。
系統(tǒng)庫(kù)
請(qǐng)注意,iOS系統(tǒng)可能沒(méi)有將Core OS和Core Services層某些特殊的庫(kù)打包成框架,而是將其作為動(dòng)態(tài)庫(kù)放在系統(tǒng)的
/usr/lib
目錄。動(dòng)態(tài)共享庫(kù)通過(guò)
.dylib
擴(kuò)展名標(biāo)識(shí),其相應(yīng)的頭文件位于
/usr/include
目錄。
所有版本的iPhone SDK都包含一份安裝在系統(tǒng)的動(dòng)態(tài)共享庫(kù)本地副本。這些副本被安裝在您的開(kāi)發(fā)系統(tǒng),您可以從XCode工程進(jìn)行鏈接。如果您需要查看某個(gè)版本的動(dòng)態(tài)庫(kù)列表,請(qǐng)查看<Xcode>
/Platforms/iPhoneOS.platform/Developer/SDKs/
<iOS_SDK>
/usr/lib
。在這個(gè)路徑中,<Xcode>表示Xcode的安裝目錄,<iOS_SDK>表示您當(dāng)時(shí)正在使用某個(gè)版本的SDK。舉個(gè)例子,iOS 3.0 SDK的動(dòng)態(tài)庫(kù)位于
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/usr/lib
目錄,相應(yīng)的頭文件則位于
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/usr/include
目錄。
iOS使用符號(hào)鏈接來(lái)指向程序庫(kù)的最近版本。在鏈接某個(gè)動(dòng)態(tài)共享庫(kù)的時(shí)候,請(qǐng)使用符號(hào)鏈接而不要使用動(dòng)態(tài)庫(kù)特定版本鏈接。因?yàn)樵趯?lái)的iOS版本中,庫(kù)的版本可能會(huì)發(fā)生改變。如果您的軟件連接到某個(gè)特定的版本,而那個(gè)版本可能已經(jīng)不存在于用戶的系統(tǒng)當(dāng)中,那就會(huì)出問(wèn)題。