iOS 四层架构

本文介绍了iOS的四层架构,包括Cocoa Touch、Media、Core Services和Core OS层,详细阐述了各层的主要功能和服务,如多任务、触摸输入、媒体处理、iCloud支持等。同时提到了相关开发框架和资源。

iOS 四层架构

主要内容

  1. iOS 四层架构

iOS 四层架构

iOS整体架构分为四层,分别是

  1. Cocoa Touch
  2. Media
  3. Core Services
  4. Core OS

Cocoa Touch

该层提供了构建iOS应用的一些基本系统服务(如多任务、触摸输入、推送通知等)和关键框架如下:

框架前缀说明
Address Book UIAB访问用户的联系人信息
Event Kit UIEK访问用户的日历事件数据
Game KitGK提供能够进行点对点的网络通信的API
iAdAD在应用中嵌入广告
Map KitMK在应用中嵌入地图和地理信息编码等
Message UIMF提供与发送E-mail相关的API
TwitterTW提供发送Twitter的接口
UIKitUI提供UI类

Media

Media层提供了图形、音频、视频和AirPlay技术,包括的框架如下:

框架前缀说明
Assets LibraryAL提供访问用户的图片和视频的接口
AudioToolboxAudio录制或播放音频、音频流以及格式转换
AudioUnitAudio, AU提供使用内置音频单元服务,以及音频处理模块
AV FoundationAV提供播放与录制音频和视频的Objective-C接口
Core AudioAudio提供录制、制作、播放音频的C语言接口
Core GraphicsCG提供Quartz 2D接口
Core ImageCI提供操作视频和静态图像的接口
Core MIDIMIDI提供用于处理MIDI数据低层的API
Core TextCT提供渲染文本和处理字体的简单、高效的C语言接口
Core VideoCV提供用于处理音频和视频的API
Image I/OCG包含一些读写图像数据类
GLKitGLK包含了构建复杂OpenGL ES应用的Objective-C实用类
Media PlayerMP包含全屏播放接口
OpenALAL包含了OpenAL(跨平台的音频)的C语言接口
OpenGL ESEAGL, GL包含OpenGL ES(跨平台的2D/3D图形库)的C语言接口
Quartz CoreCA提供动画接口类
Sprite KitSK是苹果提供的基于2D和2.5D游戏的开发引擎,可以开发iOS和Mac OS X下的游戏
Scene KitSCN是一种高级别3D图形框架,能够帮助我们在APP中创建3D动画场景和特效

Core Services

该层提供了iCloud、应用内购买、SQLite数据库和XML支持等技术,包括的主要框架如下:

框架前缀说明
AccountsAC用于访问用户的Twitter账户(iOS 5之后才有此API)
AddressBookAB访问用户的联系人信息
AdSupportAS获得iAD广告标识
CFNetworkCF提供了访问Wi-Fi网络和蜂窝电话网络的API
Core DataNS提供管理应用数据的ORM接口
CoreFoundationCF它是iOS开发中最基本的框架,包括数据集
Core LocationCL提供定位服务的API
CoreMediaCM提供AV Foundation框架使用的底层媒体类型。可以精确控制音频或视频的创建及展示
CoreMotionCM接收和处理重力加速计以及其他的运动事件
CoreTelephonyCT提供访问电话基本信息的API
Event KitEK访问用户的日历事件数据
FoundationNS为Core Foundation框架的许多功能提供Objective-C封装,是Objective-C最为基本框架
JavaScriptCore.frameworkJS提供了基于Objective-C语言封装的标准JavaScript对象, 通过该框架可以实现Objective-C与JavaScript之间的相互调用
MobileCoreServicesUT定义统一类型标识符(UTI)使用的底层类型
Newsstand KitNK提供在后台下载杂志和新闻的API接口(iOS 5之后才有此API)
Pass KitPK提供访问各种优惠券的API(iOS 6之后才有此API)
QuickLookQL该框架可以预览无法直接查看的文件内容,例如打开PDF文件
SocialSL提供社交网络访问API,中国区提供新浪微博API(iOS 6之后才有此API)
Store KitSK提供处理应用内置收费的资金交易
SystemConfigurationSC用于确定设备的网络配置(例如,使用该框架判断Wi-Fi或者蜂窝连接是否正在使用中) ,也可以用于判断某个主机服务是否可以使用
Cloud KitCK开发iCloud应用的新型API
Health KitHK开发健康和运动等服务的API,在一个位置上访问共享的健康相关的讯息
Home KitHM能够与用户家中连接的设备通信并进行控制

Core OS

该层提供了一些低级功能,开发中一般不直接使用它。该层包括的主要框架如下:

框架前缀说明
AccelerateAC访问重力加速计API
Core BluetoothCB访问低能耗蓝牙设备API
External AccessoryEA访问外围配件API接口
Generic Security Servicesgss提供一组安全相关的服务
SecurityCSSM,Sec管理证书、公钥、私钥和安全信任策略API
LocalAuthenticationLA通过用户指定的安全策略进行安全认证

以上内容主要参考 iOS开发指南:从零基础到App Store上架(第三版)

也可参考以下文章:

ios的整体架构图

这篇博客的博主也有其他很棒的博客 ~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值