本附录介绍iOS系统包含的框架,它们为编写iOS平台的软件提供必要的接口。下面的表格尽可能地列出框架中的类、方法、函数、类型以及常量使用的关键前缀,请避免在您的符号名称中使用这些前缀。
2012-11-09 15:52
1426 查看
设备中的框架
表B-1描述iOS设备提供的框架,它们位于<Xcode>
/Platforms/iPhoneOS.platform/Developer/SDKs/
<iOS_SDK>
/System/Library/Frameworks
目录。路径中的<Xcode>表示Xcode的安装目录, <iOS_SDK>则表示目标SDK版本。表中标题为“最先引入”的那一列表示首次引入相关框架的的iOS系统版本。
表 B-1 设备中的框架
模拟器的框架
虽然编写代码应该面向设备框架,但是在测试的过程中,您也需要针对模拟器编译代码。设备和模拟器的框架稍有区别。模拟器将几个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版本中,库的版本可能会发生改变。如果您的软件连接到某个特定的版本,而那个版本可能已经不存在于用户的系统当中,那就会出问题。
表B-1描述iOS设备提供的框架,它们位于<Xcode>
/Platforms/iPhoneOS.platform/Developer/SDKs/
<iOS_SDK>
/System/Library/Frameworks
目录。路径中的<Xcode>表示Xcode的安装目录, <iOS_SDK>则表示目标SDK版本。表中标题为“最先引入”的那一列表示首次引入相关框架的的iOS系统版本。
名称 | 最先引入 | 前缀 | 描述 |
---|---|---|---|
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版本中,库的版本可能会发生改变。如果您的软件连接到某个特定的版本,而那个版本可能已经不存在于用户的系统当中,那就会出问题。
相关文章推荐
- 【iOS-Cocos2d游戏开发之十一】使用Box2d物理系统以及在cocos2d框架添加Box2d物理系统lib包的方法
- iOS边练边学--NSURLSession、NSURLSessionTask的介绍与使用以及url中包含了中文的处理方法
- 【iOS-Cocos2d游戏开发之十一】使用Box2d物理系统以及在cocos2d框架添加Box2d物理系统lib包的方法
- 【iOS-Cocos2d游戏开发之十一】使用Box2d物理系统以及在cocos2d框架添加Box2d物理系统lib包的方法
- 【iOS-Cocos2d游戏开发之十一】使用Box2d物理系统以及在cocos2d框架添加Box2d物理系统lib包的方法
- 【iOS-Cocos2d游戏开发之十一】使用Box2d物理系统以及在cocos2d框架添加Box2d物理系统lib包的方法 推荐
- net控件中数据导到Excel的格式 首先,我们了解一下excel从web页面上导出的原理。当我们把这些数据发送到客户端时,我们想让客户端程序(浏览器)以excel的格式读取它,所以把mime类型设为:application/vnd.ms-excel,当excel读取文件时会以每个cell的格式呈现数据,如果cell没有规定的格式,则excel会以默认的格式去呈现该cell的数据。这样就给我们提供了自定义数据格式的空间,当然我们必须使用excel支持的格式。下面就列出常用的一些格式: 1) 文本
- android学习笔记---53_采用网页设计软件界面,以及使用android系统内置的浏览器,利用js调用java方法
- 编写高质量iOS 与OSX 代码的52个有效方法之系统框架
- iOS并发编程笔记,包含GCD,Operation Queues,Run Loops,如何在后台绘制UI,后台I/O处理,最佳安全实践避免互斥锁死锁优先级反转等,以及如何使用GCD监视进程文件文件夹,并发测试的方案等
- iOS在分类中声明属性的方法(不提倡使用)以及关联对象介绍
- 练习2-3 编写函数 htoi(s),把由十六进制数字组成的字符串(包含可选的前缀0x 或0X)转换为与之等价的整型值。字符串中允许包含的数字包括:0~9、a~f以及A~F。
- 【COCOS2DX-LUA 脚本开发之六】利用Lua强转函数解决使用CCNode报错或无法正常使用以及简单介绍 quick-cocos2d-x 与 OpenQuick 两款Lua免费开源框架
- iOS平台软件开发工具(一)-新建的工程使用CocoaPods工具集成第三方框架
- vs2005中Def文件的使用方法(DLL编写无法找到函数名称)
- JAVA学习方法,不错!关键是介绍了软件使用方法!
- 为了保证系统安全,PHP中哪些函数应该避免使用?这些函数存在哪些漏洞?
- TGraphicControl(自绘就2步,直接自绘自己,不需要调用VCL框架提供的函数重绘所有子控件,也不需要自己来提供PaintWindow函数让管理框架来调用)与TControl关键属性方法速记(Repaint要求父控件执行详细代码来重绘自己,还是直接要求Invalidate无效后Update刷新父控件,就看透明不透明这个属性,因为计算显示的区域有所不同)
- Swift中对C语言接口缓存的使用以及数组、字符串转为指针类型的方法
- 1.如何避免野指针2.获取字符串的两种方法。以及malloc,calloc,ralloc的使用注意点3.二维三维数组4.数组和函数的区别