iOS技术框架构和更新版本的技术特性

时间:2022-03-13 09:55:26

Core OS层

Sytem

系统层包括内核环境,驱动及操作系统层unix接口。内核以mach为基础,它 负责操作系统的各个方面,包括管理系统的虚拟内存,线程,文件系统,网络以及进程间通讯。这一层包含的驱动是系统硬件和系统框架的接口。出于安全方面考 虑,内核和驱动只充许少数系统框架和应用程序访问

科学运算框架

Accelerate.framework

附件框架

ExternalAccessory.framework

支持ios设备与其它设备进行通讯, 30针基座接口和设备相连,也可以通过蓝牙连接,通过external accessory框架,可以获取设备并初始化一个通讯会话,然后可以使设备支持的命令直接对其进行操作

数据安全框架

Security.framework

用于保证应用程序所管理的数据的安全,该框架提供的接口可用于管理证书,公钥,私钥以及信任策略。它支持生成加密的安全伪随机数。同时也支持对证书和keychnia密钥进行保存,是用户敏感数据的安全创库。

核心蓝牙框架

CoreBluetooth.framework

允许开发人员进行交互专门与蓝牙低能量附件(le)。通过oc接口允许您扫描le的配件,连接和断开,阅读和写服务的属性,注册服务和属性更改通知,以及更多。

通用安全服务框架

Gss.framework

iOS应用程序提供了一个安全相关的服务标准。在IETF RFC2743 和RFC 4401 指定这个框架的基本接口。除了提供标准接口,ios包括增加一些管理不指定的标准,但许多应用程序所需要的凭据。

陀螺仪框架

CoreMotion.framework

包含访问加速计以及陀螺仪的数据接口。

Core Service 层

Core Services在Core OS基础上提供了更为丰富的功能,它包含了Foundation.Framework和Core Foundation.Framework, 之所以叫Foundation ,就是因为它提供了一系列处理字串,排列,组合,日历,时间等等的基本功能。Foundation是属于Objective-C的API,Core Fundation是属于C的API。另外Core servieces还提供了其他的功能,比如:

Security, Core Location, SQLite, 和Address Book. 其中Security是用来处理认证,密码管理,按安全性管理的; Core Location是用来处理GPS定位的;SQLLite是轻量级的数据库,而AddressBook则用来处理电话薄资料的。下面是具体介绍:

Core Foundation框架

CoreFoundation.framework

c语言接口,它们为ios应用程序提供基本数据管理和服务功能。

Foundation框架

Foundation.framework

使用Objective-C封装CoreFoundation框架的许多功能

快速查看框架(预览未知的文件内容)

QuickLook.framework

应用程序可以通过该框架预览无法直接支持查看的文件内容。如果应用程序从网络下载文件或者需要处理来源未知的文件,则非常适合使用此框架。因为应该程序只要在获得文件后,调用框架提供的视图控制器就可以直接在界面中显示文件内容;

商店框架

StoreKit.framework

内购框架

视频框架

CoreMedia.framework

提供AVFoundation框架使用的底层媒体类型,只有少数需要对音频或视频创建及展示进行精确控制的应用程序才会涉及该框架。

CoreData 框架

CoreData.framework

一 种管理模型-视图-控制器应用程序数据模型的技术,它适用于数据模型已经高度结构化的应用程序。通过此框架,您再也不需要通过编程定义数据结构,而是通过 xcode提供的图形工具构造一份代表数据模型的图表。在程序运行的时候,core data框架就会创建并管理数据模型的实例,同时还对外提供数据模型访问接口。

电话信息框架

CoreTelephony.framewok

此框架为访问具有蜂窝无线的设备上的电话信息提供接口,应用程序可以通过它获取用户蜂窝无线服务的提供商信息。

网络服务框架

SystemConfiguration.framework

可用于确定设备的网络配置。您可使用该框架判断wifi或蜂窝连接是否正在使用中,也可以用于判断某个主机服务是否可用。

网络连接框架

CFNetwork.framework

一组高性能c语言接口,它们为使用网络协议提供面向对象抽象。通过这些抽象,您可以对协议栈进行更精细的控制,而且可以使用诸如BSD Socket 类底层结构。您也可以通过该框架简化诸如与ftp或http服务器通讯以及dns主机解析这类任务。

GPS框架

CoreLocation.framework

定位框架:gps,蜂窝基站或wifi信号。

Mobile Core Service 框架

MobileCoreServices.framework

定义统一类型标识符使用的底层类型

日历框架

EventKit.framework

访问用户设备的日历事件提供接口。可以访问用户日历中现有事件,可以增加新事件,日历事件可以闹铃,可以配置激活规则。

地址本框架

AddressBook.framework

支持编程访问存储于用户设备中的联系人信息。如果应用程序使用到联系人信息,则可通过该框架访问并修改用户联系人数据库的记录。

Media 层

如同其名,Media层提供了图片,音乐,影片等多媒体功能。图像分为2D图像和3D图像,前者由Quartz2D来支持,后者则是用OpenglES. 与音乐对应的模组是Core Audio和OpenAL, Media Player 实现了影片的播放,而最后还提供了Core Animation来对强大动画的支持。具体介绍如下:

资产框架

AssetsLibrary.framework

该框架提供一个查询界面,您可以通过它查找用户照片和数据。通过使用该框架,您可以访问photos管理的资产,包括用户保存的相册以及导入到设备中的图片或视频。您可以将照片或视频保存到用户相册。

图形框架

CoreGraphics.framework

包含Quartz 2D绘图API接口,Quartz 是Mac OS X 系统使用的向量绘图引擎,它支持基于路径绘图,搞锯齿,渐变,图片,颜色,坐标空间转换,pdf文件创建,显示和解析。虽然api基于c,但是它使用基于对象的抽象以表示基本绘图对象。

QuartzCore.framework

包 含Core Animation接口, Core Animation 是高级动画制作和混合技术,它使用经过优化的渲染路径实现复杂的动画和视觉效果。它提供高级objective-c接口可对动画效果进行配置。然后在设备 硬件中进行渲染,以提高性能。 Core Animation框架被整合到ios社会多部分(uikit 的 uiview) 可以为多种系统行为提供动画效果。

OpenGLES.framework

OperGL es 提供工具可用于绘制2d 3d内容。基于 c,在ios5中提供了oc的封装glkit

CoreText.framework

简单高效的c接口,对文本进行布局,字体处理。

ImageIO.framework

用于导入导出图像数据及图像元数据,该框架建构于CoreGraphics数据类型和函数之上,能够支持ios上所有标准图像类型。

音频框架

MediaPlayer.framework

应用程序播放视频和音频内容提供高级支持。可以使用标准系统界面播放视频。ios3.0增加了对访问用户itunes库的支持。因此,您可以使用该框架播放音,播放列表,搜索歌曲向用户显示姐体选取界面。

AVFoundation.framework

oc类用于播放音频内容。可以是文件或内存中的音频数据。可以同时播放多个声音。

OpenAL.framework

方位音频的跨平台标准;游戏或有方位音频输出的应用中实现高性能,品质的音频。

CoreAudio.framework

AudioToolbox.framework

AudioUniT.framework

c语言接口,可用于操作立体声音叔。通过core audio 框架,您可以在应用中生成,录制,混合或播放音频,也可以访问设备的震动功能。

视频框架

MediaPlayer.framework

播放视频,音频提供高级支持;有标准系统界面播放视频;ios3.0增加了对访问用户itunes库的支持。

CoreVideo.framework

为core media 提供缓存和缓存池的支持。大多数应用程序都不应该直接使用该框架。

CoreMedia.framework (Core Services) 属于服务层

对较高极框架使用的底层类型进行描述,同时也提供一些底层接口,它们用于对媒体进行处理。

MIDI 框架

CoreMIDI.framework

IOS4.2 推出,提供了一个标准的与midi设备进行沟通,包括硬件键盘和合成器。您可以使用此框架来发送和接收midi消息和交互连接到一个基于ios的设备的基座连接器或络的midi外设。

GLKit 框架

GLKit.framework

在ios5中引入的,包含了一套oc为基础的实用工具类,简化了创建一个opengl es2.0应用所需要的努力。

帐户框架

Accounts.framework

NewsstandKit 框架

专门对数字出版做的一个新功能。它能把所有用户订阅的报刊或杂志类的app都放在一组图标里。

Cocoa Touch层

最上面一层是Cocoa Touch,它是Objective-C的API,

其中最核心的部分是UIKit.Framework,应用程序界面上的各种组件,全是由它来提供呈现的;

除此之外它还负责处理屏幕上的多点触摸事件,文字的输出,图片,网页的显示,相机或文件的存取,以及加速感应的部分等。具体介绍如下:

UIKit 框架

UIKit.framework

用户界面层使用的类和方法

支持图形和窗口;

    支持触摸事件处理;

    用户接口管理;

    提供用来表征标准系统视图和控件的对象;

    支持文本和Web内容;

    通过URL scheme与其他应用的集成。

    为提供基础性代码建立应用,UIKit也支持一些与设备相关的特殊功能,如下所示:

    加速计数据;

    内建Camera;

    用户图片库;

    设备名称和模式信息。

Twitter 框架

twitter.framework

邮件框架

MessageUI.framework

地图框架

Mapkit.framework

广告框架

iAD.framework

P2P及游戏内语言框架

GameKit.framework

点对点连接;

游戏内语音功能

建构于Bonjour之上。

地址本框架

AddressBookUI.framework

oc 接口,可以显示创建或编辑联系人的标准系统界面。

iOS不同版本升级的开发特性:

iOS3.0

开发特性

一点对点蓝牙连接

二远程浏览内容

三连接周边产品(硬件)

四其它应用可以使用maps

五定位软件

六推送功能

七网络电话(voip)

八录音

九播放音乐

十增强了 app store

iOS4.0

开发特性

一点对点蓝牙连接

二远程浏览内容

三连接周边产品(硬件)

四其它应用可以使用maps

五定位软件

六推送功能

七网络电话(voip)

八录音

九播放音乐

十增强了 app store

iOS5.0

一iCloud

iCloud存储API使程序可以将用户文档和关键数据存储到iCloud中,并同时将改动推送到用户所有的计算机和设备上这一切都是自动的

二通知中心

三新闻综述

使用News stand kit

四自动引用计数(ARC)

五深度集成twitter

六Storyboard

七AirPlay

   作为在 iOS 4.2 引入的新功能,AirPlay 能够将视频,音频和照片作为媒体流输入到 Apple TV 上。在 iOS 5 中,AirPlay 可以将 iPad 2 上的

   任何内容通过 Apple TV 无线镜像到 HDTV 上。您的应用程序会自动支持这一功能。您也可以调用额外的 API 从而在每个 HDTV 和 iPad 2    屏幕上显示不同的内容。在 iOS 5 中,使用了 AV Foundation 框架的应用程序可以通过 AirPlay 将视频和音频内容转成媒体流,并且            AirPlay现在支持通过 HTTP Live 媒体流发布加密的媒体流内容

八Core Image

   您可以使用 Core Image 在镜头和编辑图片的应用程序中创建令人惊叹的效果。Core Image 是一个硬件加速的框架,使您可以轻松地增强    照片和视频。Core Image 提供了一些内置的滤镜,例如颜色效果,变形和变换等。同时它还包括一些高级功能如自动增强,消除红眼,       脸部识别等

九GameCenter

   游戏中心在 iOS 5 中支持多人游戏中的回合制游戏。在回合制游戏中,玩家可以在方便的时候才做出游戏动作,而游戏中心会管理每一个   回合。游戏中心将自动通过通知中心发送一个推送通知到下一个游戏玩家。其他为开发者提供的功能还包括,添加玩家到现有的多人游     戏中,显示成就通知,每个排行榜支持不同的图标。

十OpenGL ES

加了GLKit

十一 iMessage

十二新的工具

十三无需pc

十四模拟位置信息

iOS6.0

一地图 抛弃了googlemap 使用了自家地图

二深度社交网络集成 ios5时深度集成了twitter, ios6集成了facebook, sina weibo

三passbook 和passkit

四gamecenter 主要联机对战

五提醒开放了向reminder里添加东西和从读取的api (event kit) 和标准用户界面

六新的iap

能直接从itunes store 购买音乐

七collection views 瀑布流布局

八自动布局

iOS7.0

1.UIKIT 全新偏化风络

2.UIKIT 力学模型,增加UIDynamicItem委托

3.游戏支持加了自己的精灵系统 SpriteKit 2d游戏引擎 xcode 还提供创建粒子 系统和贴图工具

4.支持专门游戏硬件

5.点对点连接:用来发现和连接附近的设备并传输数,而这一切不需要有网络 连接(direct wifi (P2P Wifi)技术, 所以iOS7 的airdrop 需要 iPhone5 或最新iPad/iPad mini才支持,因为还依赖硬件)

6.Store Kit:IAP方面采用了新的订单系统,减少内购实现流程和内购破解。实现

对订单的本机验证

7.Inter-APPAudio 应用间的音频

同一设置不同应用之间发送midi指令和传送音频能力,比如在一个应用中使用

AudioUnit录音,然后在另一个应用中打以处理.

8.地图MapKit

MKMapCamera:可以将一个MKMapCamera对象加到地图上,在指明位置,角度和方向后将呈现3d效果

MKDirections

MKGeodesicPolyline

MKMapSnapshotter

改变了overlay对象的渲染方式

9.多任务

iOS7之前

后台完成某些费时间的特定任务

后台播放音乐

位置服务

ip电话

newsstand

iOS7

改变了后台任务的运行方式除网络外的后台任务,被分布到不同的应用唤醒系

统时执行.

网络传输的应用建议使用NSURLSessioin 创建后台的session并进行网格传输.

增加了后台获取 Background Fetch

应用打开前有机会执行代码来获取数取,刷新ui,省去了网络加载过程

增加了推送唤醒( 静默推送,Slient Remove Notifications)

增加了后台传输(Background Transfer service)