表B-1描述iOS设备提供的框架,它们位于
/Platforms/iPhoneOS.platform/Developer/SDKs/
/System/Library/Frameworks
目录。路径中的表示Xcode的安装目录,
名称 | 最先引入 | 前缀 | 描述 |
---|---|---|---|
| 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 | | 包含用于处理与应用程序内购买相关的财务交易。请查看 |
| 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工程进行链接。如果您需要查看某个版本的动态库列表,请查看
/Platforms/iPhoneOS.platform/Developer/SDKs/
/usr/lib
。在这个路径中,表示Xcode的安装目录,表示您当时正在使用某个版本的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版本中,库的版本可能会发生改变。如果您的软件连接到某个特定的版本,而那个版本可能已经不存在于用户的系统当中,那就会出问题。