1.iOS基于UNIX系统,因此从系统的稳定性上来说它要比其他操作系统的产品好很多

2.iOS的系统架构分为四层,由上到下一次为:可触摸层(Cocoa Touch layer)、媒体层(Media layer)、核心服务层(Core Services layer)、核心操作系统层(Core OS layer)如图:

(1)触摸层:为应用程序开发提供了各种常用的框架并且大部分框架与界面有关,本质上来说它负责用户在iOS设备上的触摸交互操作。它包括以下这些组件:

Multi-Touch Events  Core Motion   Camera

View Hierarchy   Localization   Alerts

Web Views     Image Picker   Multi-Touch Controls

(2)媒体层:通过它我们可以在应用程序中使用各种媒体文件,进行音频与视频的录制,图形的绘制,以及制作基础的动画效果。它包括以下这些组件:

Core Audio     OpenGL    Audio Mixing

Audio Recording   Video Playback   JPG,PNG,TIFF

PDF     Quartz    Core Animation 

OpenGL ES

(3)核心服务层:我们可以通过它来访问iOS的一些服务。它包括以下这些组件:

Collections     Address Book   Networking

File Access     SQLite    Core Location

Net Services    Threading    Preferences

URL Utilities

(4)核心操作系统层包括:内存管理、文件系统、电源管理以及一些其他的操作系统任务。它可以直接和硬件设备进行交互。核心操作系统层包括以下这些组件:

OS X Kernel    Mach 3.0    BSD

Sockets     Power Mgmt  File System

Keychain     Certificates   Security

Bonjour

3.Cocoa Touch简介

(1)在最上层Cocoa Touch层中的很多技术都是基于Objective-C语言的。Objective-C语言为iOS提供了集合、文件管理、网络操作等支持。比如UIKit框架,它为应用程序提供了各种可视化组件,比如像窗口(Window)、视图(View)和按钮组件(UIButton)。Cocoa Touch层中的其他框架,对我们在应用程序中的开发来说也是非常有用的,如访问用户通信录功能框架、获取照片信息功能的框架、负责加速感应器和三维陀螺仪等硬件支持的框架。

4.应用程序的框架

应用程序项目都是从Cocoa Touch层开始的,具体来说就是从UIKit Framework开始的。当在编写程序的过程中需要用到一些特殊功能的时候,我们应该从框架的最顶端技术开始寻找相应的框架,只有在上层结构无法解决时,才能使用其下层的技术。其实,顶层的框架已经涵盖了我们绝大多数需要的功能。

                      常用的iOS SDK框架:

框架名称

功    能

AddressBook.framework

提供访问存储核心数据库中用户联系人信息的功能

AddressBookUI.framework

提供一个用户界面,用于显示存储在地址簿中的联系人信息

AudioToolbox.framework

提供音频录制和回放的底层API,同时也负责管理音频硬件

AudioUnit.framework

提供一个接口,让我们的应用程序可以对音频进行处理

AVFoundation.framework

提供音频录制和回放的底层API,同时也负责管理音频硬件

CFNetwork.framework

访问和配置网络,像HTTP、FTP和Bonjour Services

CoreFoundation.framework

提供抽象的常用数据类型,如 Unicode strings、XML、URL等

CoreGraphics.framework

提供2D绘制的基于C的API

                 续表:

框架名称

功    能

CoreLocation.framework

使用GPS和Wi-Fi获取位置信息

Foundation.framework

提供Object-C的基础类(像NSObject)、

基本数据类型和操作系统服务等

GameKit.framework

为游戏提供网络功能;点对点互联和游戏中的语音交流

MapKit.framework

为应用程序提供内嵌地图的接口

MediaPlayer.framework

提供播放视频和音频的功能

MessageUI.framework

提供视图控制接口用以处理E-mail和短信

OpenGLES.framework

提供简洁而高效的绘制2D和3D图形的OpenGL API子集

QuartzCore.framework

提供动画特效以及通过硬件进行渲染的能力

StoreKit.framework

为应用程序提供在程序运行中消费的支持

SystemConfiguration.framework

检测当前网络是否可用和硬件设备状态的能力

UIKit.framework

创建和管理应用程序的用户界面

iOS 系统架构及常用框架的更多相关文章

  1. ios系统架构及常用框架

    1.iOS基于UNIX系统,因此从系统的稳定性上来说它要比其他操作系统的产品好很多 2.iOS的系统架构分为四层,由上到下一次为:可触摸层(Cocoa Touch layer).媒体层(Media l ...

  2. iOS 系统架构及常用框架(iOS的系统架构分为四个层次)

    1.iOS基于UNIX系统,因此从系统的稳定性上来说它要比其他操作系统的产品好很多 2.iOS的系统架构分为四层,由上到下一次为:可触摸层(Cocoa Touch layer).媒体层(Media l ...

  3. 认识iOS系统架构

    关于本文: 文章主要介绍iOS系统架构中的四层结构的内容.常用的框架.大致的功能,然后对iOS开发人员的发展提出自己的一些拙见. 一.iOS系统是基于UNIX系统,所有从系统稳定性上来说的确比其他操作 ...

  4. iOS 系统架构

    https://developer.apple.com/library/ios/documentation/Miscellaneous/Conceptual/iPhoneOSTechOverview/ ...

  5. iOS系统架构

    1.iOS系统架构 iOS的系统架构分为四个层次 核心操作系统层 (Core OS) 它包括 内存管理 , 文件系统 , 电源管理以及一些其他的操作系统任务, 它可以直接和硬件设备进行交互 核心服务层 ...

  6. iOS学习笔记(三)——iOS系统架构

    iOS的系统架构分为四个层次:核心操作系统层(Core OS layer).核心服务层(Core Services layer).媒体层(Media layer)和可触摸层(Cocoa Touch l ...

  7. iOS系统架构和Object-C基本数据类型(1)

    iOS系统架构 基本数据类型 思维导图  下载 注:打开思维导图的软件:Mindjet MindManager 9

  8. iOS 系统架构 && 常用 framework

    整理自互联网,感谢原文作者! 1.iOS基于UNIX系统,因此从系统的稳定性上来说它要比其他操作系统的产品好很多 2.iOS的系统架构分为四层,由上到下一次为:可触摸层(Cocoa Touch lay ...

  9. iOS第三方Api及常用框架总结

    iOS常用框架汇总: SVProgressHUD:产生覆盖层,禁止某种操作 SDWebImage: 专业下载图片框架 AFN:网络数据请求框架 MJExtension,模型对象之间互转 第三方分享第三 ...

随机推荐

  1. pthread_mutex_t

     在Linux中使用线程 http://blog.csdn.net/jiajun2001/article/details/12624923 :LINUX就是这个范围作者   原创作品,允许转载,转载时 ...

  2. CentOS 6.0 图形(图解)安装教程

    http://www.cnblogs.com/vipsoft/archive/2012/04/23/2466062.html

  3. docker + swarm 集群

    docker + swarm 集群 导读 Swarm是Docker公司在2014年12月初新发布的容器管理工具.和Swarm一起发布的Docker管理工具还有Machine以及Compose.Swar ...

  4. Windows 之 win10快捷键

    1.Windows10系统常用快捷键: 1)贴靠窗口(窗口可以变为1/4大小放置在屏幕4个角落):Win +左/右 或 Win +上/下 2)切换窗口:Alt + Tab 3)任务视图(松开键盘界面不 ...

  5. B. Pasha and String

    time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standa ...

  6. K - 4 Values whose Sum is 0(中途相遇法)

    K - 4 Values whose Sum is 0 Crawling in process... Crawling failed Time Limit:9000MS     Memory Limi ...

  7. nodejs 实现 http proxy 透明转发

    这两天需要安装一个Linux虚拟机,接下来要通过 yum 来安装需要的软件. 因单位的网络需要通过代理才能访问外网,公司代理服务器:proxy.xxxx.com,给yum增加了proxy设置: # v ...

  8. linux_jvm_jhat_dump内存分析

    jhat命令   jhat命令 -- Java Head Analyse Tool 用途:是用来分析java堆的命令,可以将堆中的对象以html的形式显示出来,包括对象的数量,大小等等,并支持对象查询 ...

  9. Sql Server触发器案例(初学者学习案例)

    万事都是从最简单的一句“hello world”开始,所以我接下里介绍的sql触发器学习案例也从最简单的案例来说明分析: 1.首先创建表,这几张表你们也许很熟,在百度搜触发器案例都是使用这2张表 Cr ...

  10. shell配置环境变量

    我们在使用Xshell开发机时往往会遇到一些问题,比如使用某些命令他会报command not found,,出现这种情况的原因是我们必须要配置一下环境变量,这样就可以在任何path中访问了. 这就需 ...