文章40 | 阅读 19063 | 点赞0
包括:Address Book UI Framework、Event Kit UI Framework、Game Kit
Framework、iAd Framework、Map Kit Framework、Message UI Framework、
UIKit Framework 等等,这一层基本都是基于 Objective-C 的接口
包含 Core Graphics、Core Animation、OpenGL ES、Core Text、Image I/O、Assets Library Framework、Media Player Framework、AV Foundation、OpenAL、Core Audio Frameworks、Core Media 等等
包含 Address Book Framework、CFNetwork Framework、Core Data Framework、
Core Foundation Framework、Core Location Framework、Core Media
Framework、Core Telephony Framework、Event Kit Framework、Foundation
Framework、Mobile Core Services Framework、Quick Look Framework、Store
Kit Framework、System Configuration Framework、Block Objects、Grand
Central Dispatch 、In App Purchase、Location Services、SQLite、XML
Support 等一些框架,也基本都是基于 c 语言的接口
包含 Accelerate Framework、External Accessory Framework、Security Framework、System 等几个框架,基本都是基于 c 语言的接口
框架 | 服务内容 |
---|---|
Assets Library | AssetsLibrary.framework 提供对用户设备上图片应用管理的图片和视频的存取。<br>使用该框架来存取用户保存的图片相册或导入到设备的任意相册中的图片,也能保存新的图片和视频到用户的图片相册。 |
AV Foundation | AVFoundation.framework 提供一组播放、记录和管理声音和视频内容的Objective-C 类。<br>当你想在应用的 UI 接口无缝集成媒体能力时使用该框架。你也能使用它来进行更先进的媒体处理,例如同时播放多个声音或者控制播放和记录过程的多个方面。<br>该框架提供的服务包括: <br>1. 声音会话管理,包括对系统声明你的应用声音能力;<br>2. 对应用媒体资源的管理;<br>3. 对编辑媒体内容的支持;<br>4. 捕捉声音和视频的能力;<br>5. 播放声音和视频的能力;<br>6. 轨迹管理;<br>7. 媒体元数据的管理;<br>8. 立体拍摄;<br>9. 声音之间的精确同步;<br>10. 提供一个确定声音文件细节内容的 Objective-C 接口,例如数据格式,采样率,通道数;<br>11. 通过 AirPlay 串流内容 |
Core Audio | Core Audio 是一个对声音处理提供本地支持的框架家族。这些框架支持声音的产生、记录、混合和回放。<br>你也能使用这些接口处理 MIDI 内容以及串流声音和 MIDI 内容到其它应用。<br>Core Audio 框架包括如下框架:<br>1. CoreAudio.framework:定义 Core Audio 框架使用的所有数据类型。<br>2. AudioToolbox.framework:提供声音文件和声音流的播放和记录服务。也提供管理声音文件,播放系统警告声音,在某些设备上触发震动的支持。<br>3. AudioUnit.framework:提供使用内建声音单元。也提供使你的应用的声音内容作为对其它应用可视的声音组件的支持。<br>4. CoreMIDI.framework:提供与 MIDI 设备通讯的标准方式,包括硬件键盘和合成器。你使用这个框架来发送和接收 MIDI 消息以及与通过 dock 连接器或网络连接到 iOS 设备的 MIDI 外设交互。<br>5. MediaToolbox.framework:提供对声音 tap 接口的存取。 |
Core Graphics | CoreGraphics.framework 包含Quartz 2D 绘制 api。<br>Quartz 是一个原先用在 OS X 的先进的、向量绘制引擎。Quartz 支持路径绘制,抗锯齿呈现,剃度、图像、颜色、坐标空间转换以及 pdf 内容创建、显示和分析等功能。<br>虽然这个 api 是 C-based 接口,但它使用了面向对象抽象来表现基本的绘制对象,因此使它容易存储和重用图形内容。 |
Core Image | CoreImage.framework 提供一组强大的内建过滤器来操作视频和静态图像。<br>你能在触摸弹起、纠正图片以及面部和特征检测等许多方面使用这些内建的过滤器。这些过滤器的先进特点是它们操作在非破坏方式,即原先的图像不被改变。<br>这些过滤器针对底层硬件进行了优化,因此它们是快速和有效的。 |
Core Text | CoreText.framework 提供一个对文本进行布局和字体处理的简单的、高性能的 C-based 接口。<br>该框架用在不使用 TextKit 但仍想获得在字处理应用中发现的先进文本处理能力。<br>该框架提供了一个智能的文本布局引擎,包括在其它内容周围环绕文本的能力,它也支持使用多种字体和呈现属性的先进的文本风格。 |
Core Video | CoreVideo.framework 为 Core Media 框架提供缓冲和缓冲池支持。多数应用从不直接使用该框架 |
Game Controller | GameController.framework 让你在应用中发现和配置针对 iPhone/iPod/iPad 设备的游戏控制器。<br>游戏控制器可以是物理连接到 iOS 设备或者是通过蓝牙无线连接。GameController 框架当控制器可获得时通知你的应用让应用可以规定哪个控制器输入与你的应用相关 |
GLKit | GLKit 支持应用开发的四个关键领域:<br>1. GLKView 和 GLKViewController 类提供一个 OpenGLES 视图和其呈现循环的标准实现。OpenGLES 视图代表应用管理底层的 framebuffer 对象。应用只需在视图上绘制。<br>2. GLKTextureLoader 类提供在你的应用中使用图像转换和加载线程,允许应用自动加载纹理图像到应用的上下文。能够异步或同步加载纹理。当异步加载纹理时,应用应提供一个完成处理块,该处理块在纹理加载进应用上下文时被调用。<br>3. GLKit 框架提供向量、矩阵和 3D 旋转以及提供 OpenGLES 1.1 上的矩阵。<br>4. GLKBaseEffect、GLKSkyboxEffect 和 GLKReflectionMapEffect 类实现给通用图形操作提供可配置的图形着色。尤其 GLKBaseEffect 类实现了 OpenGL ES 1.1 规范上的光亮和材质模式,简化了移植一个应用从 OpenGL ES 1.1 到 OpenGL ES 最后版本的努力。 |
Image I/O | ImageIO.framework 提供输入和输出图像数据和图像元数据的接口。<br>该框架利用 CoreGraphics 数据类型和功能,并支持在 iOS 上所有的可获得的标准的图像类型。你能使用这个框架存取 Exif 和 IPTC 元数据属性。 |
Media Accessibility | MediaAccessibility.framework 管理媒体文件中 closed-caption 内容的呈现。<br>该框架与新的设置配合工作可以让用户决定是否允许 closed-caption 显示。 |
Media Player | MediaPlayer.framework 提供应用中播放声音和视频的高级别支持。<br>能够使用该框架做如下工作:<br>1. 播放视频到用户屏幕或通过 AirPlay 到另外的设备屏幕。能够全屏幕播放视频或以可改变视图大小的方式播放。<br>2. 存取用户的 iTunes 音乐库。能够播放音乐轨迹和播放列表、搜索音乐、给用户提供一个媒体 picker 呈现接口。<br>3. 配置和管理电影的回放。<br>4. 在锁定屏幕和 app 切换窗口上显示 NowPlaying 信息。当内容通过 AirPlay 提交时还能显示到 AppleTV 上。<br>5. 检测视频通过 AirPlay 被串流的时间。 |
OpenAL | OpenAudio Library(OpenAL)接口是用来在应用中提供位置音效的跨平台的标准。<br>能够使用该接口在游戏和其它需要位置音效输出的程序中实现高性能、高质量的声音。<br>因为 OpenAL 是跨平台的标准,在 iOS 使用 OpenAL 编写的代码能够容易地移植到许多其它平台。 |
OpenGL ES | OpenGLES.framework 提供绘制 2D 和 3D 内容的工具,它是一个 C-based 的框架。<br>该框架以最接近设备硬件的方式为全屏沉浸式应用例如游戏提供细粒度的图形控制和高的帧率。<br>你能够与 EAGL 配合使用这个框架,为 OpenGL ES 绘制调用和 UIKit 的本地窗口对象之间提供接口。<br>该框架支持 OpenGLES 1.1,2.0,3.0 规范。2.0 规范增加了片段和顶点着色的支持,3.0 规范增加了更多的功能,包括多个呈现目标和变换反馈。 |
Quartz Core | QuartzCore.framework 包含 Core Animation 接口。<br>Core Animation 是一个先进的复合技术,使用它能容易创建快和有效的 view-based 的动画。<br>复合引擎利用底层硬件来有效的实时操作视图内容。<br>只需规定动画的起始点,CoreAnimation 做剩下的工作。因为 Core Animation 内嵌在UIView架构的底层,因此它总是可用的。 |
Sprite Kit | SpriteKit.framework 框架为 2D 和 2.5D 游戏提供硬件加速的动画系统。<br>SpriteKit 提供大多数游戏需要的基础,包括一个图形引擎和动画系统,声音播放支持,一个物理仿真引擎。<br>使用 SpriteKit 不需你自己创建这些事情,使你聚焦在内容设计和内容的高级别的交互上。<br>在 Sprite Kit 应用中内容组织为场景。一个场景包括纹理对象,视频,路径图形,核心图像过滤器和其它的特效。<br>SpriteKit 利用这些对象,确定这些对象到屏幕上的最有效的方式。<br>当在场景中到了动画内容的时刻,你能使用 SpriteKit 来显式规定你想执行的行动或使用物理仿真引擎来为那些对象定义物理行为(例如重力、引力或排拆力)。<br>除了 SpriteKit 框架,也有其它 Xcode 工具来创建颗粒发射效果和纹理图。你能使用 Xcode 工具来管理应用资源和快速地更新 Sprite Kit 场景。 |
框架 | 服务内容 |
---|---|
Accounts Framework | Accounts.framework 为确定的用户账号提供单点登录模式。<br>单点登录通过消除用户分离的多个账号需要的多次登录提示,来增强用户体验。它也通过为应用管理账号认证过程来简化开发模式。<br>该框架需要与 Social 框架配合使用。 |
Address Book Framework | AddressBook.framework 提供可编程存取用户的联系人数据库的方式。<br>如果应用使用联系人信息,你能使用该框架来存取和修改联系人信息。例如一个聊天应用可以使用该框架来引出可能的联系人列表,通过联系人列表来启动一个会话以及在特定视图显示那些联系人。<br>重要提示:存取用户的联系人数据需要用户的明确的许可。应用因此必须准备好用户拒绝存取的情形。应用也鼓励提供Info.plist键来描述需要存取的原因。 |
Ad Support Framework | AdSupport.framework 提供存取应用用于广告功能的一个标识。<br>该框架也提供一个指示用户是否选择广告跟踪的标志。应用在试图存取广告标识前需要度和判断这个标志。 |
CFNetwork | CFNetwork.framework 是高性能的使用面向对象对网络协议进行抽象的一组 C-based 接口。这些抽象提供对协议栈细节的控制,使它容易使用低级别的构造例如 BSDsockets。<br>你能使用该框架简化与 ftp 或 http 服务器通讯或决定 dnshosts 的任务。<br>使用 CFNetwork 框架,你能:<br>1. 使用 BSD sockets。<br>2. 使用 SSL 或 TLS 创建安全连接。<br>3. 决定dnshosts。<br>4. 与 HTTP 服务器、认证 HTTP 服务器、HTTPS 服务器交互。<br>5. 与 FTP 服务器交互。<br>6. 发布、解决和浏览 Bonjour 服务。<br>CFNetwork 物理和理论上基于 BSD sockets。 |
Core Data | CoreData.framework 框架是管理 MVC 应用中的数据模式的一种技术。<br>CoreData 框架打算在数据模式是高结构化的应用中使用。<br>代替编程定义数据结构,在 Xcode 中能够使用图形工具来建立一个表现你的数据模式的纲要。在运行时,你的数据模式实体的实例通过 CoreData 框架被创建、管理和获得。<br>通过为你的应用管理其数据模式,CoreData 大大减少了必须书写的代码量。<br>CoreData 也提供如下功能:<br>1. 为优化性能在 SQLite 数据库中存储对象数据;<br>2. 一个管理数据表视图结果的 NSFetchedResultsController 类;<br>3. 对基本的文本编辑之外的 undo/redo 的管理;<br>4. 支持属性值的校验;<br>5. 支持传播改变确保对象之间的关系保持一致性;<br>6. 支持分组、过滤和在内存中优化数据。<br>如果你开始开发一个新应用或计划对已有应用进行大的更新,应该考虑使用 CoreData。 |
Core Foundation | CoreFoundation.framework 是一组 C-based 接口,为 iOS 应用提供基本的数据管理和服务功能。<br>该框架包括如下支持:<br>1. 集合数据类型(数组、集合等);<br>2. 应用打包 Bundles;<br>3. 字符串管理;<br>4. 日期和时间管理;<br>5. 原始数据块管理<br>6. Preferences管理;<br>7. URL 和流操作;<br>8. 线程;<br>9. 端口和 socket 通讯。<br>CoreFoundation 框架与 Foundation 框架紧密相关,为相同的基本功能提供 Objective-C 接口。<br>当你需要混合使用 Foundation 对象和 Core Foundation 类型时,你能利用两个框架之间存在的“toll-freebridging”。<br>toll-free bridging”意味着你能可交换地在两个框架的方法和功能中使用一些 CoreFoundation 和 Foundation 类型。这个支持对许多数据类型可用,包括集合和字符串数据类型。<br>每个框架的类和类型描述声明一个对象是否是 toll-freebridged以及在是的情况下来标识它连接到什么对象。 |
Core Location | CoreLocation.framework 为应用提供位置信息。该框架使用板上的 GPS、蜂窝、或者Wi-Fi来定位用户的当前经度和纬度。<br>你可在你的应用中集成该技术为用户提供位置信息。例如,你可实现一个基于用户的当前位置搜索附近餐馆、商店或者银行的应用。<br>CoreLocation 框架也提供如下能力:<br>1. 在包括磁力计的 iOS 设备上存取罗盘信息;<br>2. 基于地理位置或蓝牙 beacon 进行区域监视;<br>3. 支持使用蜂窝基站的低耗电的位置监视;<br>4. 与 MapKit 配合来增强在特定情景下的位置数据的质量,例如开车时。 |
Core Media Framework | CoreMedia.framework 提供由 AV Foundation 框架使用的低级别的媒体类型。<br>大多数应用从不需要使用该框架,但少数需要更精确控制音视频内容创建和呈现的开发者可以使用它。 |
Core Motion Framework | CoreMotion.framework 提供一组接口来存取设备上可获得的运动数据。<br>该框架支持使用一组新的 block-based 接口来存取原始和加工过的加速度计数据。对于带有陀螺仪的设备,你也能获得原始的陀螺仪数据和加工过的反应设备方向和旋转速度的数据。<br>你能在游戏或其它使用运动作为输入或作为增强用户体验的方式的应用中使用加速度计和陀螺仪两种数据。对于带有计步硬件的设备,你能存取它的数据来跟踪健康相关的运动。 |
Core Telephony Framework | CoreTelephony.framework 提供与蜂窝电话的通话相关的信息交互的接口。<br>可以使用该框架来获得用户的蜂窝服务提供者的信息。对于对蜂窝 call 事件感兴趣的应用例如 VoIP 应用也能在那些事件出现时被通知。 |
Event Kit | EventKit.framework 提供存取用户设备上的月历事件的接口。<br>能够使用该框架来做如下事情:<br>1. 获得用户月历上存在的事件和提示;<br>2. 增加事件到用户月历;<br>3. 为用户创建提示和使它们出现在提示应用中;<br>4. 为月历事件配置提示信号,包括设置提示信号应该什么时候触发的规则。<br>重要提示:存取用户的月历和提示数据需要用户的明确许可。应用因此必须准备好用户拒绝的情形,也鼓励应用在其 Info.plist 文件中提供一个描述需要存取原因的键。 |
Foundation | Foundation.framework 提供 Core Foundation 框架提供的许多功能的 Objective-C 封装。<br>该框架提供如下功能的支持:<br>1. 集合数据类型(数组、集合等等);<br>2. 应用打包 Bundles;<br>3. 字符串管理;<br>4. 日期和时间管理;<br>5. 原始数据块管理;<br>6. Preferences 管理;<br>7. URL 和流操作;<br>8. 线程和运行环;<br>9. Bonjour;<br>10. 通讯端口管理;<br>11. 国际化;<br>12. 规则表达式匹配;<br>13. Cache 支持。 |
JavaScriptCore | JavaScriptCore.framework 为许多标准的 JavaScript 对象提供 Objective-C 语言的封装。使用该框架来执行 JavaScript 代码和分析 JSON 数据。 |
Mobile Core Services | MobileCoreServices.framework 定义在通用类型标识符(UTIs)中使用的低级别类型。 |
Multipeer Connectivity Framework | MultipeerConnectivity.framework 支持附近设备的发现,并与那些设备直接通讯(不需要Internet连接)。<br>使用该框架能够与附近设备通讯、容易的创建多人会话、支持可靠地传输顺序和实时数据。<br>该框架为发现和管理网络服务提供可编程和 UI-based 的选项。应用能在 UI 中集成 MCBrowserViewController 类来显示一个发现设备列表让用户选择。<br>另外也能使用 MCNearbyServiceBrowser 类来可编程的查找和管理对方设备。 |
Newsstand Kit | Newsstand 应用为用户提供了一个阅读杂志和报纸的中心位置。想通过 Newsstand 提供杂志和报纸内容的出版商能够使用 NewsstandKit 框架(NewsstandKit.framework)创建它们自己的 iOS 应用,让用户启动新杂志和报纸新闻的后台下载。在启动下载后,系统处理下载操作和当内容可获得时通知应用。 |
Pass Kit | Passbook 应用为用户提供了一个存储订货单、登机卡、入场券和商业折扣卡的位置。代替物理携带这些东西,用户现在能在 iOS 设备上存储它们,并和过去一样的方式使用。<br>Pass Kit 框架 (PassKit.framework)提供把这些功能集成到你的应用的 Objective-C 接口。<br>你能与web 接口和文件格式信息组合使用该框架来创建和管理你们公司提供的电子入场券。<br>电子入场券由你们公司的 web service创建并通过 email、Safari 或定制的应用提交到用户的设备。<br>电子入场券本身使用特殊的文件格式,在提交之前被加密签名。文件格式标识关于提供服务的相关信息以及用户知道是什么服务的信息。<br>电子入场券也可以包含一个对卡进行校验的条码或其它信息,以便它能被兑换或使用。 |
Quick Look | QuickLook.framework 提供了一个预览应用不直接支持的文件内容的接口。<br>该框架主要打算用于应用从网络下载文件或处理来自不知道来源的文件的工作。<br>在得到文件后,你能使用该框架提供的视图控制器来直接显示文件的内容。 |
Safari Services | SafariServices.framework 提供以可编程的方式增加 URLs 到用户的 Safari 的书签的支持。 |
Social Framework | Social.framework 提供一个简单的接口来存取用户的社交媒体账号。<br>该框架取代 Twitter 框架并增加了其它社交账号,包括 Facebook、Sina 微博以及其它。<br>应用能使用该框架提交状态更新和图像到用户账号。该框架与 Accounts 框架一起为用户提供单点登录并确保存取的用户账号是经过准许的。 |
Store Kit | StoreKit.framework 提供在 iOS 应用中购买内容和服务的支持,也被称作应用内购买。<br>例如,你能使用该功能来允许用户去锁另外的应用功能。或者如果你是一名游戏开发者,你能使用它来提供另外的游戏级别。<br>在这两种情况,StoreKit 框架处理事务的收入方面事务,包括通过用户的 iTunes 账号处理付费请求,给应用提供关于购买的信息。<br>Store Kit聚集在事务的金融方面,确保事务正确和安全。你的应用处理事务的其它方面,包括购买接口的呈现和适当内容的下载(去锁)。<br>工作的分工让你能够控制购买内容的用户体验。由你决定你想呈现给用户什么样的购买接口和什么时候那样做,你也决定你的应用最好的提交机制。 |
System Configuration Framework | SystemConfiguration.framework 提供可达性接口,你能用它来确定设备的网络配置,也能使用该框架确定一个 Wi-Fi 或蜂窝连接是否在用以及一个特定的主机服务器是否能够存取。 |
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/Forever_wj/article/details/119963095
内容来源于网络,如有侵权,请联系作者删除!