iOS 系统层级

前言

  • iOS 是一个基于 UNIX 的操作系统,并且它大量借鉴了 macOS 的内核部分,iOS 针对移动设备对电池等硬件进行了系统的优化,但它仍可被看成是一个 UNIX 系统。

1、iOS 系统层级

  • iOS 系统采用层的概念来划分系统的技术实现,每一层都由各自的框架组成,iOS 由下至上可以分为四层:核心 OS、核心服务层、媒体层和 Cocoa Touch 层。

    层级 主要框架
    Cocoa Touch UIKit 等
    Media Core Graphics 、OpenGl ES、Core Animation 等
    Core Services Core Data、Foundation 等
    Core OS Accelerate Framework、External Accessory Framework、Security Framework、System 等
  • 从图中可以看到,要想编写成型的产品,需要的不仅仅是语言本身,同时许多库需要协同使用。语言只是产品开发的“胶水”,而框架和上面的这些库才是 iOS 产品的骨架。Swift 语言能够无缝的调用所有库。

1.1 Core OS --- 核心 OS 层

  • 核心 OS 层包含 Accelerate Framework、External Accessory Framework、Security Framework、System 等几个框架,基本都是基于 C 语言的接口。
  • 核心 OS 层是最接近于操作系统的一层,在这个层次上,主要实现硬件以及操作系统接口封装。
  • 核心 OS 层通常进行线程操作、复杂的数学运算、硬件加密等工作。

1.2 Core Services --- 核心服务层

  • 核心服务层包含 Address Book Framework、CFNetwork Framework、Core Data Framework、Core Foundation Framework、Core Location Framework、Core Media Framework、Core Telephony Framework、Event Kit Framework、Foundation Framework、Mobile Core Services Framework、Quick Look Framework、Store Kit Framework、System Configuration Framework、Block Objects、Grand Central Dispatch、In App Purchase、Location Services、SQLite、XML Support 等一些框架,也基本都是基于 C 语言的接口。
  • Foundation 框架提供了字符串、数值的管理、容器及枚举、分布式计算、事件循环、URL 与数据流操作、国际化,以及其他与图形用户界面没有直接关系的功能。其中类和常数常用 “NS” 前缀来标志。
  • Core Data 框架主要在数据模型、数据存储方面发挥作用。在程序运行的时候,Core Data 框架会创建并管理数据模型的实例,同时还对外提供数据模型访问接口。除此之外,Core Data 还可以将对象数据存储在 SQLite 数据库以获得性能优化、管理 undo/redo(撤销/重做)等操作,还支持在内存中对数据进行归类、过滤及组织数据。

1.3 Media --- 媒体层

  • 媒体层包含 Core Graphics、Core Animation、OpenGL ES、Core Text、Image I/O、Assets Library Framework、Media Player Framework、AV Foundation、OpenAL、Core Audio Frameworks、AV Foundation、Core Media 等等。
  • 媒体层包含图形技术(包含动画技术)、音频技术和视频技术,可以使用这层的技术更快速的创建高级的图形和动画,方便的获得音频、视频的支持。
    • 1)图形技术:是 iOS 应用程序的重要组成部分。创建应用程序最简单、最有效的方法是使用事先渲染过的图片,搭配上标准视图以及 UIKit 框架的控件,然后把绘制任务交给系统来执行。

      • Core Graphics :也被称为 Quartz,用于处理本地 2D 向量渲染和图片渲染。
      • Core Animation :Quartz Core 框架的一部分,为动画视图和其他内容提供更高级别支持。
      • OpenGl ES :为使用硬件加速接口的 2D 和 3D 渲染提供支持。
      • Core Text :提供一个精密的文本布局和渲染引擎。
      • Image I/O :提供读取及编写大多数图形格式的接口,导入和导出图像数据和图像元数据。
      • Assets Library framework :资产库框架,用于访问用户照片库中的照片和视频。
    • 2)音频技术:iOS 音频技术可以用来播放或录制高质量的音频,也可以用于触发设备的震动功能。
      • 媒体播放器框架:是可以拿来即用的播放器。
      • AV Foundation :提供用于管理音频的播放或录制的接口。
      • Core Audio :可以使用此框架的接口播放系统的警报声音、触发的震动功能、管理多声道的缓冲和播放、对音频内容进行流化处理。
    • 3)视频技术:可用于播放应用程序包含的电影文件以及来自网络的数据流内容。如果设备具有合适的视频硬件,这些技术也可以用于捕捉视频,并可将捕捉到的视频集成到应用程序。
      • 媒体播放器框架:可用于播放应用程序中全屏或部分屏的电影。
      • AV Foundation :可以对电影的捕捉和播放进行管理。
      • Core Media :对较高级框架使用的底层类型进行描述,同时也提供一些底层接口,用于对媒体进行处理。

1.4 Cocoa Touch --- Cocoa Touch 层

  • Cocoa Touch 层包括 Address Book UI Framework、Event Kit UI Framework、Game Kit Framework、iAd Framework、Map Kit Framework、Message UI Framework、UIKit Framework 等等,这一层基本都是基于 Objective-c 的接口。
  • Cocoa Touch 层包含了用于 iOS 应用开发的图形界面构建的类。其中所有的类,都以 “UI” 为前缀。
  • Cocoa 是苹果开发体系的统称,Cocoa 包含一些主要的 OC 对象库,我们称这些对象库为框架。框架是由许多类、方法、函数和文档按照一定的逻辑组织起来的集合,以使研发程序更容易。为所有程序开发奠定基础的框架称为 Foundation 框架。
    • 术语 Cocoa:是指 Foundation 、Core Data 和 AppKit(Application Kit) 框架框架。用于 macOS 设备上的应用程序开发。
    • 术语 Cocoa Touch:是指 Foundation 、Core Data 和 UIKit 框架。用于 iOS 设备上的应用程序开发。

原文地址:https://www.cnblogs.com/QianChia/p/8932850.html

时间: 2024-07-29 07:53:34

iOS 系统层级的相关文章

iOS的系统层级结构和相关的框架

一,概述 iOS的系统架构分为四个层次:核心操作系统层(Core OS layer).核心服务层(Core Services layer).媒体层(Media layer)和可触摸层(Cocoa Touch layer).理解iOS的系统构架,对我们日常开发有很大帮助.其实iOS是基于UNIX的,所以我们完全可以相信这个操作系统,要知道从系统的稳定性上来说它要比其他操作系统的产品好很多. 二, IOS操作系统的层次结构及相关框架 1.Core OS 核心层:包含Accelerate Framew

ios系统的特点

iphone系统特性:*用户只能同时和一个应用进行交互.只有一个程序启动正在运行,其他程序只能后台运行.后台运行机制大大缩短了程序再次启动花费的时间. *后台运行程序占有系统内存空间,当系统内存不足时,系统强制关闭空闲应用,回收系统资源.2.虚拟内存机制 *iOS和Mac OS都具有内存机制,每个进程都拥有自己的虚拟地址空间,IOS不能使用页面文件扩展进程的地址空间.系统内存不足时,会发送给应用程序一条消息,应用程序受到后释放自己地址空间的空闲内存.ios系统的特点:比较稳定,因为他是一个完全封

为什么ios系统比android系统更为流畅

1优先级别不同:iOS最先响应屏幕 不少人都反应苹果iPhone要比一般Android手机流畅,这是一个现象要说是大问题谈不上,毕竟两者是完全两个不同的系统所以严格来说放在一起对比是不公平的.不过因为Android以及iOS是当下两大主流操作系统,对比抗衡之类的说法自然难以避免.今天我们就来谈谈为什么iOS产品在使用过程中会让人觉得更加流畅一些,而为何一些Android手机则容易出现卡顿延迟的情况. iOS手机为什么比安卓流畅 优先级别不同:iOS最先响应屏幕 当我们使用iOS或者是Androi

iOS系统层次架构

本文转自:http://blog.csdn.net/lxl_815520/article/details/51172917 一,概述 iOS的系统架构分为四个层次:核心操作系统层(Core OS layer).核心服务层(Core Services layer).媒体层(Media layer)和可触摸层(Cocoa Touch layer).理解ios的系统构架,对我们日常开发有很大帮助.其实iOS是基于UNIX的,所以我们完全可以相信这个操作系统,要知道从系统的稳定性上来说它要比其他操作系统

浅述不同版本ios系统有什么特点 ios 1 -ios 12

版本记录 版本号 时间 V1.0 2017.07.25 前言 到目前为止,ios的版本已经发到了ios11的测试版,今年正式版马上就会出来,ios发布了这么多的版本,到底每个版本都有什么显著的特点?用户最钟情于哪一个版本呢?带着这些问题,我想总结一下ios这些版本的特点. iOS 1 增加了触屏功能,捏拉缩放滚动等交互很完美,使用户体验及时和自然.但是也存在缺点. 不支持粘贴复制文本. 不支持彩信功能. 不支持发邮件时添加附件. Exchange右键推送. 可自定义的主屏幕,可见的全局文件管理.

记录在ios系统上,自研app,灰度环境遇到的一个vue页面dom节点已渲染,但是显示部分空白的情况

一.问题产生背景: 在ios系统上,自研app,灰度环境,进入到前端页面后,从不同入口进入到适配车型页面,部分页面显示正常,部分页面显示异常,而适配车型页面的代码逻辑仅仅是请求接口,获取到数据后进行for循环渲染而已 1.vue页面代码如下: 2.js代码如下(请求数据,有缓存先取缓存,没有取接口请求返回数据,直接赋值): 3.接口返回数据如下: 4.除了ios.自研app.灰度环境的某个入口外,其他各端,包括ios.自研app.灰度环境的大部分入口(进到适配车型页)正常如下: 5.ios.自研

ios系统架构及常用框架

1.iOS基于UNIX系统,因此从系统的稳定性上来说它要比其他操作系统的产品好很多 2.iOS的系统架构分为四层,由上到下一次为:可触摸层(Cocoa Touch layer).媒体层(Media layer).核心服务层(Core Services layer).核心操作系统层(Core OS layer)如图: (1) 触摸层:为应用程序开发提供了各种常用的框架并且大部分框架与界面有关,本质上来说它负责用户在iOS设备上的触摸交互操作.它包括以下这些组件: Multi-Touch Event

苹果iOS系统下检查第三方APP是否安装及跳转启动

\ 在iOS系统,使用Url Scheme框架在APP间互相跳转和传递数据,本文只介绍如果检测和跳转. Url Scheme框架 如果你想知道ios设备中是否安装QQ这个软件,我们可以通过一个简单方法判断到: if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"mqq://"]]) { NSLog(@"install--"); } else { NSLog(@"n

ios系统铃声调用方法

首先,这里我要说明这里并不是真正调用系统内部自带的铃声,因为苹果是不允许开发者调用的,没有给开发者接口:如果调用了就无法上线的!那为什么AppStore里面还有那么多app显示的效果是调用系统的铃声一样呢?为什么就能上线呢?其实不然,他们是使用了系统一样的铃声!也就说他们录制和系统铃声相似,然后包含进他们的bundle中来实现的. 所以,我们想要实现调用系统铃声的效果,只能通过这个途径:把音频文件捆绑经我们的bundle中来调用,播放! 给一个网址,里面好多苹果系统铃声(ios8的也有啦....