ios的主要框架介绍
框架是一个目录,这个目录包含了共享库,访问共享库里代码的头文件,和其它的图片和声音的资源文件。一个共享库定义的方法或函数可以被应用程序调用。
IOS提供了很多你可以在应用程序里调用的框架。要使用一个框架,需要将它添加到你的项目中,你的项目才可以使用它。许多应用程序都使用了如Foundation、UIKit、和Core Graphics这些框架。根据你为应用程序选择的模版,相关的框架就已经被自动引入了。如果默认加入的框架不能满足你的应用程序的需求,你也可以加入需要的框架。
Foundation框架为所有的应用程序提供基本系统服务
你的应用程序,UIKit和其它的框架都是建立在Foundation框架上面的。Foundation框架是用Object-C对Core Foundation框架里许多特性的封装。
- 创建和管理集合,比如数组和字典
- 访问储存在应用程序里的图片和其他资源
- 创建和管理字符串
- 提交和接受通知
- 创建日期和时间对象
- 自动发现ip网络上的设备
- 操作URL
- 执行异步代码
UIKit框架提供创建基于触摸用户界面的类
所有的iOS应用程序都基于UIKit,你不能是应用程序脱离这个框架。UIKit提供了在屏幕上绘制的机制,捕获事件,和创建通用用户界面元素。UIKit也通过管理显示在屏幕上的组件来组织复杂的项目。
- 构建和管理你的用户界面
- 捕获触摸和基于移动的事件
- 呈现文字和web内容
- 优化你的多任务程序
- 创建定制的用户界面元素
Core Data框架管着理应用程序数据模型
Core Data提供对象的管理,使用Core Data,你可以创建模型对象,并管理这些对象。你管理这这些对象间的联系并修改数据。Core Data提供的内建SQLlite技术可以高效的管理数据。
- 在库里存储和接收对象
- 提供基本的undo/redo
- 自动验证属性值
- 过滤、分组和优化内存中的数据
- 用[NSFetchedResultsController]管理表视图中的结果
- 支持基于文档的应用程序
Core Graphics框架帮助你创建图形
高质量的图形对于所有的iOS应用程序都是很重要的。在iOS中最简单且最快捷的创建图形的方式是使用UIKit框架提供的基于预渲染图形的视图和控件,然后让UIKit和iOS完成绘制。但是当你需要创建复杂的图形时,Core Graphics则提供了更底层的库来帮助你。
- 创建基于路径的绘图
- 抗锯齿渲染
- 添加梯度、图片和颜色
- Use coordinate-space transformations.
- 创建、显示和分析PDF文档
OpenGL ES 框架提供2D和3D绘图工具
OpenGL ES支持2D和3D绘图,Apple的OpenGL ES实现通过硬件提供了高速的全屏游戏式的应用程序。
- 创建2D和3D图形
- 创建更复杂的图形,比如数据虚拟化、模拟飞行,或者视频游戏
- 访问底层图形设备
将别的框架添加到工程里
- 打开工程
- 点击项目名,显示project editor
- 在TARGETS列表中选中要添加框架的工程
- 点击project editor顶部的Build Phases
- 点击Link Binary With Libraries前面的三角形打开这个分组
- 通过点击添加(+)来添加一个框架
- 在列表中选择一个框架,然后点击Add按钮
设备中的框架
- Accelerate.framework 包含加速数学和DSP函数
- AddressBook.framework 包含直接访问用户联系人数据库的函数。
- AddressBookUI.framework 包含显示系统定义的联系人挑选界面和编辑界面的类。
- AssetsLibrary.framework 包含显示用户照片和视频的类
- AudioToolbox.framework 包含处理音频流数据以及播放或录制音频的接口。
- AudioUnit.framework 包含加载并使用音频单元的接口。
- AVFoundation.framework 包含播放或录制音频的Objective-C接口
- CFNetwork.framework 包含通过WiFi或者蜂窝无线访问网络的接口。
- CoreAudio.framework 包含Core Audio框架使用的各种数据类型。
- CoreData.framework 包含管理应用程序数据模型的接口
- CoreFoundation.framework 提供一些基本软件服务,包括常见数据类型抽象、字符串实用工具、群体类型实用工具、资源管理以及偏好设置。
- CoreGraphics.framework 包含Quartz 2D接口。
- CoreLocation.framework 包含确定用户方位信息的接口。
- CoreMedia.framework 包含操作音频和视频的底层例程。
- CoreMotion.framework 包含访问加速度计以及陀螺仪的数据的接口。
- CoreTelephony.framework 包含访问电话相关的信息的例程
- CoreText.framework 包含一个文本的布局渲染引擎。
- CoreVideo.framework 包含操作音频和视频的底层例程
- EventKit.framework 包含访问用户日历事件数据的接口
- EventKitUI.framework 包含显示标准系统日历界面的类
- ExternalAccessory.framework 包含与外设进行通讯的接口。
- Foundation.framework 包含Cocoa Foundation层的类和方法
- GameKit.framework 包含点对点连接管理接口。
- iAd.framework 包含在应用程序中显示广告的类
- ImageIO.framework 包含读取或写入图像数据的类。
- IOKit.framework 包含设备所使用的接口。
- MapKit.framework 包含将地图界面嵌入到应用程序的类,也可以用于查找地理编码反向坐标
- MediaPlayer.framework 包含显示全屏视频的接口。
- MessageUI.framework 包含撰写和排队发送电子邮件信息的界面。
- MobileCoreServices.framework 定义系统支持的统一类型标识符(UTIs)。
- OpenAL.framework 包含OpenAL接口。OpenAL是一个跨平台的方位音频库。
- OpenGLES.framework 包含OpenGL ES接口。OpenGL ES框架是OpenGL跨平台2D和3D渲染库的跨平台版本。
- QuartzCore.framework 包含Core Animation接口。
- QuickLook.framework 包含预览文件接口。
- Security.framework 包含管理证书、公钥私钥以及信任策略的接口。
- StoreKit.framework 包含用于处理与应用程序内购买相关的财务交易。
- SystemConfiguration.framework 包含用于处理设备网络配置的接口。
- UIKit.framework 包含iOS应用程序用户界面层使用的类和方法。