iOS基础篇-系统框架汇总

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
    是一个音频接口,用于在线流媒体音乐的播放
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • iOS的系统架构分为四个层次:核心操作系统层(Core OS layer)、核心服务层(Core Services...
    zhaihongxia阅读 8,232评论 0 3
  • 6转载-->>IOS框架和服务 在iOS中框架是一个目录,包含了共享资源库,用于访问该资源库中储存的代码的头文件,...
    李小六_阅读 9,068评论 2 24
  • 在iOS中框架是一个目录,包含了共享资源库,用于访问该资源库中储存的代码的头文件,以及图像、声音文件等其他资源。共...
    ch123阅读 5,741评论 0 1
  • 唯有你是不可取代 01 我和183先生绝逼孽缘,相爱相杀你死我活冷若冰霜干柴烈火一阵一阵反复无常那种。科普一下,我...
    车长庄庄阅读 4,270评论 0 0
  • 那时候,孤身在城市,一个人闯。虽然城市的森林里,不仅有无限的风光,更有无尽的凄惶。 那时候,只因一把吉他,就嫁给了...
    胡不拉阅读 1,868评论 0 0

友情链接更多精彩内容