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 UI 框架参考


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 UI 框架参考


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版本中,库的版本可能会发生改变。如果您的软件连接到某个特定的版本,而那个版本可能已经不存在于用户的系统当中,那就会出问题。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。