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