iOS技術(shù)概述
Core Foundation框架和Foundation框架緊密相關(guān),它們?yōu)橄嗤δ芴峁┙涌冢獸oundation框架提供Objective-C接口。如果您將Foundation對象和Core Foundation類型摻雜使用,則可利用兩個框架之間的 “toll-free bridging”。所謂的Toll-free bridging是說您可以在某個框架的方法或函數(shù)同時使用Core Foundatio和Foundation 框架中的某些類型。很多數(shù)據(jù)類型支持這一特性,其中包括群體和字符串?dāng)?shù)據(jù)類型。每個框架的類和類型描述都會對某個對象是否為 toll-free bridged,應(yīng)和什么對象橋接進(jìn)行說明。
Foundation 框架
Foundation框架 (Foundation.framework)為 Core Foundation框架的許多功能提供Objective-C封裝。您可以參考Core Foundation框架了解前面對Core Foundation框架的描述。 Foundation框架為下述功能提供支持:
群體數(shù)據(jù)類型 (數(shù)組、集合等)
程序包
字符串管理
日期和時間管理
原始數(shù)據(jù)塊管理
偏好管理
URL及數(shù)據(jù)流操作
線程和RunLoop
Bonjour
通訊端口管理
國際化
正則表達(dá)式匹配
緩存支持
Core OS 層
Accelerate 框架
External Accessory 框架
Security 框架
System
iOS 的框架
設(shè)備中的框架
表B-1描述iOS設(shè)備提供的框架,它們位于/Platforms/iPhoneOS.platform/Developer/SDKs//System/Library/Frameworks目錄。路徑中的表示Xcode的安裝目錄, 則表示目標(biāo)SDK版本。
模擬器的框架
設(shè)備和模擬器的框架稍有區(qū)別。模擬器將幾個Mac OS X框架作為其自身實(shí)現(xiàn)的一部分。另外,由于系統(tǒng)的限制,設(shè)備框架的確切接口有可能和模擬器框架稍有不同。
系統(tǒng)庫
請注意,iOS系統(tǒng)可能沒有將Core OS和Core Services層某些特殊的庫打包成框架,而是將其作為動態(tài)庫放在系統(tǒng)的/usr/lib 目錄。動態(tài)共享庫通過.dylib擴(kuò)展名標(biāo)識,其相應(yīng)的頭文件位于/usr/include目錄。
所有版本的iPhone SDK都包含一份安裝在系統(tǒng)的動態(tài)共享庫本地副本。這些副本被安裝在您的開發(fā)系統(tǒng),您可以從XCode工程進(jìn)行鏈接。如果您需要查看某個版本的動態(tài)庫列表,請查看/Platforms/iPhoneOS.platform/Developer/SDKs//usr/lib。在這個路徑中,表示Xcode的安裝目錄,表示您當(dāng)時正在使用某個版本的SDK。
iOS使用符號鏈接來指向程序庫的最近版本。在鏈接某個動態(tài)共享庫的時候,請使用符號鏈接而不要使用動態(tài)庫特定版本鏈接。因為在將來的iOS版本中,庫的版本可能會發(fā)生改變。如果您的軟件連接到某個特定的版本,而那個版本可能已經(jīng)不存在于用戶的系統(tǒng)當(dāng)中,那就會出問題。
評論