標籤:ios 架構
本附錄介紹iOS系統包含的架構,它們為編寫iOS平台的軟體提供必要的介面。下面的表格儘可能地列出架構中的類、方法、函數、類型以及常量使用的關鍵首碼,請避免在您的符號名稱中使用這些首碼。
裝置中的架構
表B-1描述iOS裝置提供的架構,它們位於<Xcode>
/Platforms/iPhoneOS.platform/Developer/SDKs/
<iOS_SDK>
/System/Library/Frameworks
目錄。路徑中的<Xcode>表示Xcode的安裝目錄, <iOS_SDK>則表示目標SDK版本。表中標題為“最先引入”的那一列表示首次引入相關架構的的iOS系統版本。
表 B-1 裝置中的架構
名稱 |
最先引入 |
首碼 |
描述 |
Accelerate.framework
|
4.0 |
cblas , vDSP
|
包含加速數學和DSP函數。 請查看 加速架構參考 。 |
AddressBook.framework
|
2.0 |
AB
|
包含直接存取使用者連絡人資料庫的函數。請查看地址簿架構參考。 |
AddressBookUI.framework
|
2.0 |
AB
|
包含顯示系統定義的連絡人挑選介面和編輯介面的類。請查看iOS地址簿UI架構參考 。 |
AssetsLibrary.framework
|
4.0 |
AL
|
包含顯示使用者照片和視頻的類,請查看資產庫架構參考 。 |
AudioToolbox.framework
|
2.0 |
AU , Audio
|
包含處理音頻流資料以及播放或錄製音訊介面。請查看音頻工具箱架構參考。 |
AudioUnit.framework
|
2.0 |
AU , Audio
|
包含載入並使用音頻單元的介面。請查看音頻單元架構參考. |
AVFoundation.framework
|
2.2 |
AV
|
包含播放或錄製音訊Objective-C介面。請查看AV Foundation架構參考.。 |
CFNetwork.framework
|
2.0 |
CF
|
包含通過WiFi或者蜂窩無線訪問網路的介面。請查看CFNetwork架構參考。 |
CoreAudio.framework
|
2.0 |
Audio
|
包含Core Audio架構使用的各種資料類型。請查看Core Audio 架構參考 。 |
CoreData.framework
|
3.0 |
NS
|
包含管理應用程式資料模型的介面。請查看Core Data 架構參考 。 |
CoreFoundation.framework
|
2.0 |
CF
|
提供一些基本軟體服務,包括常見資料類型抽象、字串工具 + 生產力、群體類型工具 + 生產力、資源管理以及喜好設定。請查看rovCore Foundation架構參考。 |
CoreGraphics.framework
|
2.0 |
CG
|
包含Quartz 2D介面。請查看Core Graphics 架構參考 。 |
CoreLocation.framework
|
2.0 |
CL
|
包含確定使用者方位資訊的介面。請查看Core Location 架構參考。 |
CoreMedia.framework
|
4.0 |
CM
|
包含操作音頻和視頻的底層常式。請查看Core Media 架構參考。 |
CoreMotion.framework
|
4.0 |
CM
|
包含訪問加速度計以及陀螺儀的資料的介面。請查看Core Motion 架構參考。 |
CoreTelephony.framework
|
4.0 |
CT
|
包含訪問電話相關的資訊的常式。請查看Core Telephony 架構參考。 |
CoreText.framework
|
3.2 |
CT
|
包含一個文本的布局渲染引擎。請查看Core Text參考集.。 |
CoreVideo.framework
|
4.0 |
CV
|
包含操作音頻和視頻的底層常式。請不要直接使用該架構。 |
EventKit.framework
|
4.0 |
EK
|
包含訪問使用者日曆事件數目據的介面。請查看Event Kit 架構參考。 |
EventKitUI.framework
|
4.0 |
EK
|
包含顯示標準系統日曆介面的類。請查看Event Kit 使用者介面架構參考。 |
ExternalAccessory.framework
|
3.0 |
EA
|
包含與外設進行通訊的介面。請查看External Accessory 架構參考。 |
Foundation.framework
|
2.0 |
NS
|
包含Cocoa Foundation層的類和方法。請查看Foundation 架構參考。 |
GameKit.framework
|
3.0 |
GK
|
包含點對點連接管理介面。請查看Game Kit 架構參考。 |
iAd.framework
|
4.0 |
AD
|
包含在應用程式中顯示廣告的類。請查看iAd 架構參考。 |
ImageIO.framework
|
4.0 |
CG
|
包含讀取或寫入映像資料的類。請查看Image I/O 參考集。 |
IOKit.framework
|
2.0 |
N/A |
包含裝置所使用的介面。請不要直接使用此架構。 |
MapKit.framework
|
3.0 |
MK
|
包含將地圖介面嵌入到應用程式的類,也可以用於尋找地理編碼反向座標。請查看Map Kit架構參考。 |
MediaPlayer.framework
|
2.0 |
MP
|
包含顯示全屏視頻的介面。請查看Media Player 架構參考。 |
MessageUI.framework
|
3.0 |
MF
|
包含撰寫和排隊寄送電子郵件資訊的介面。請查看Message 使用者介面架構參考。 |
MobileCoreServices.framework
|
3.0 |
UT
|
定義系統支援的統一類型標識符(UTIs)。 |
OpenAL.framework
|
2.0 |
AL
|
包含OpenAL介面。OpenAL是一個跨平台的方位音頻庫。如需進一步瞭解,請訪問http://www.openal.org。 |
OpenGLES.framework
|
2.0 |
EAGL , GL
|
包含OpenGL ES介面。OpenGL ES架構是OpenGL跨平台2D和3D渲染庫的跨平台版本。請查看OpenGL ES 架構參考。 |
QuartzCore.framework
|
2.0 |
CA
|
包含Core Animation介面。請查看Quartz Core 架構參考。 |
QuickLook.framework
|
4.0 |
QL
|
包含預覽檔案介面。請查看Quick Look 架構參考。 |
Security.framework
|
2.0 |
CSSM , Sec
|
包含管理憑證、公開金鑰私密金鑰以及信任策略的介面。請查看Security架構參考。 |
StoreKit.framework
|
3.0 |
SK
|
包含用於處理與應用程式內購買相關的財務交易。請查看 Store Kit 架構參考。 |
SystemConfiguration.framework
|
2.0 |
SC
|
包含用於處理裝置網路設定的介面。請查看System Configuration架構參考。 |
UIKit.framework
|
2.0 |
UI
|
包含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版本中,庫的版本可能會發生改變。如果您的軟體串連到某個特定的版本,而那個版本可能已經不存在於使用者的系統當中,那就會出問題。
iOS 的架構