iOS系统架构
iOS系统架构分下面四层,每层都建立在它的下面一层基础之上。
-
Cocoa Touch(可触摸层):代表UIKit
负责用户的触摸交互操作,为程序提供常用框架,大部分框架与界面有关
-
Mdia(媒体层):代表Core Graphics/Core Animation/Open GL ES
通过它我们可以使用各种媒体文件,可以绘制图形,制作动画以及音频视频录制
-
Cocoa Services(核心服务层):代表Foundation/Core Data
通过它可以访问一些服务
-
Core OS(核心操作系统层)
可以直接和硬件设备交互,我们可以做内存管理,文件系统,电源管理等操作
延伸
OC是C语言的扩展集,OS X和iOS平台上所有应用程序都是用OC语言开发的
OS X:苹果电脑系统
iOS: iPhone/iPad移动系统
苹果提供了两种工具包,都是用OC语言开发的
Cocoa:针对OS X系统
Cocoa Touch:针对iOS系统
什么是框架
框架是一种把头文件,库,图片,声音等内容聚集在一个独立单元中的集合体
每个框架都是一个重要的技术集合,通常包含数十甚至上百个头文件,每个框架都有一个主头文件,它包含了框架内所有的头文件,通过在头文件中使用#import,可以访问框架内的所有功能
系统框架Foundation和UIKit
在你开发时,主要使用的框架就是这两个,我们知道,基本所有的框架都是建立在Foundation框架上面的
-
Foundation
Foundation框架是以CoreFoundation框架为基础创建的,CF框架是用C语言写的,函数和变量名称以CF开头
使用Foundation框架我们可以:
1-NString
2-NSArray和NSDictionary(只能存对象)
3-NSNumber(可以将基本数据类型封装成对象)
4-NSData
5-NSValue(可以封装任意值)
6-NSNull
7-操作URL
8-执行异步代码 -
UIKit
UIKit提供了用户界面层使用的类和方法,UIKit框架类组织架构图如下:
系统Core框架
- Core Data
可以创建并管理模型对象 - Core Graphics
可以创建复杂图形,包含Quartz 2D接口 - Core Animation
创建高级动画和虚拟效果 - Core Foundation
基本软件服务,包括常见数据类型,字符串,资源管理及偏好设置等 - Core Location
包含确定用户方位信息接口,它可以使用硬件设备来进行定位服务,不需要地图,精度相对略差,省电。 - Core Media
包含操作音频和视频的底层 - Core Motion
包含访问加速器和陀螺仪的数据接口 - Core Text
包含一个文本渲染的布局引擎,可以满足开发中遇到的关于文字排版的所有需求,包括富文本,表情,符号画等 - Core Image
图像处理,也可以人脸识别
系统Kit框架
- MapKit
能够使应用程序做一些地图展示与交互的相关功能,必须有地图,精度相对较高,费电。 - GameKit
可以为游戏添加一些有趣的功能,例如游戏中的语音聊天,集成GameCenter - HealthKit
可以分享健康和健身数据,也可以自动导入计步数据 - HomeKit
智能家居 - CloudKit
基于iCloud的云端数据存储 - ResearchKit
专为医学研究者打造的一款软件基础架构,可以基于这个架构创建出各种健康应用
系统其它框架
- Quartz Core
提供用户视觉反馈,我们最终看到的界面显示都是图层混合的结果,图层就是Quartz Core中的CALayer - OpenGL ES
提供2D和3D的绘图工具,如模拟飞行,视频游戏 - Accelerate
加速器 - AddressBook
地址簙 - AddressBookUI
地址薄UI - MessageUI
发短信 - AssetsLibrary
资源库框架 - AudioToolbox
音频工具箱 - AudioUnit
音频单元 - AVFoundation
可以使用和创建基于时间的视听媒体的框架 - CFNetwork
访问网络的接口 - MediaPlayer
可以实现视频播放 - SystemConfiguration
测试连接网络状态 - AudioToolbox
是一个音频接口,用于在线流媒体音乐的播放
网友评论