通常在招聘面试中遇到熟悉iOS SDK,那么到底怎么描述?
iOS的整体架构图分为4层,由上往下--Cocoa Touch层,Media层,Core Services层和Core OS层。下面概要介绍这4层。
1. Cocoa Touch层
该层提供了构建iOS应用的一些基本系统服务(如多任务、触摸输入和推送通知)和关键框架。
框架 前缀 说明
Address Book UI AB 访问用户联系人信息
Event Kit UI EK 访问用户日历事件数据
Game Kit GK 提供能够点对点的网络通API
iAD AD 在应用中嵌入广告
Map Kit MK 应用中嵌入地图和地理信息编码等
Message UI MF 提供与发送E-mail相关的API
PhotosUI PH 照片UI相关的API(iOS8 替代Assets Library)
Twitter TW 提供发送Twitter的接口
UIKit UI 提供UI类(重要的面试常问UI优化技巧)
2. Media层
该层提供了图形、音频、视频和AirPlay技术,包括的框架如下
框架 前缀 说明
Assets Library AL 提供访问用户图片和视频接口
Audio ToolBox (C) Audio 录制或播放音频、音频流及格式转换
Audio Unit Audio,AU 可以使用内置音频单元服务以及音频处理模块
AV Foundation AV 提供播放与录制音频和视频的OC接口
Core Audio Audio 提供录制、制作、播放音频的C语言接口
Core Graphics CG 提供Quartz 2D接口
Core Image CI 提供操作视频与静态图像的接口
Core MIDI MIDI 用于处理MIDI的数据底层的API
Core Text CT 提供渲染文本和处理字体的简单、高效的C语言接口
Core Video CV 处理音频或视频的API
Image I/O CG 包含一些读写图像数据类
GLKit GLK 包含构建复杂OpenGL ES应用的OC实现类
Media Player MP 包含全屏播放接口
OpenAL AL 包含OpenAL(跨平台的音频)的C语言接口
OpenGL ES EAGL,GL 包含OpenGL ES(跨平台的2D/3D图形库)的C语言接口
Quartz Core CA 提供动画接口类
Sprite Kit SK 是苹果提供的基于2D游戏开发引擎(iOS,Mac OS X游戏开发)
Scene Kit SCN 是一种高级别3D图形框架,能狗帮助我们在App中创建3D动画场景和特效
3. Core Services层
该层提供了CloudKit、HealthKit、HomeKit、应用内购买、SQLite数据库和XML技术等技术,包括框架如下
框架 前缀 说明
Accounts AC 用于访问用户的Twitter账户(iOS5之后才有)
AddressBook AB 访问用户联系人信息
AdSupport AS 获取iAD广告标识
CFNetwork CF 提供访问Wi-Fi网络和蜂窝电话网络的API
CoreData NS 提供管理应用数据的ORM接口
CoreFoundation CF 是iOS中最基本的框架,包括数据集
Core Location CL 提供定位服务的API
Core Media CM 提供AV Foundation框架使用的底层媒体类型。可以精确的控制音频或视频的创建和展示
CoreMotion CM 接收和处理重力加速计及其他运动事件
CoreTelephony CT 提供访问电话基本信息的API
Event Kit EK 访问用户的日历事件数据
Foundation NS 为Core Foundation框架的许多功能提供OC封装,是OC最为基本的框架
JavaScriptCore.framework JS 提供基于OC语言封装的标准JS对象,通过该框架可以实现OC与JS的互调
MoblieCoreServices UT 定义统一类型标识符(UTI)使用的底层类型
Newsstand Kit NK 提供在后台下载杂志和新闻的API接口(iOS5后)
PassKit PK 提供访问各种优惠券的API(iOS6后)
QuickLook QL 该框架可以预览无法直接查看的文件内容,例如打开PDF文件
Social SL 提供社交网络访问API,中国区提供新浪微博API(iOS6后)
Store Kit SK 提供处理应用内置收费的资金交易
SystemConfiguration SC 用于确定设备的网络配置,也可以用于判断某个主机服务是否可以使用
Cloud Kit CK 开发Cloud应用的API
Health Kit HK 开发健康和健身服务的API,在一个位置上访问共享和健康相关的信息
Home Kit HM 能够与用户家中连接的设备通信并进行控制
4. Core OS层
该层提供一些一些低级功能,开发中一般不直接使用。该层包括的主要框架
框架 前缀 说明
Accelerate AC 访问重力加速计API
Core Bluetooth CB 访问低能耗蓝牙设备API
External Accessory EA 访问外围配件API
Ceneric Security Services gss 提供一组安全相关的服务
Security CSSM,Sec 管理证书、公钥、私钥和安全信任策略API
LocalAuthentication LA 通过用户指定的安全策略进行安全认证