iOS的系统层次架构
IOS操作系统的层次架构:
系统包含~层~层包含~框架~框架包含接口~接口~提供方法,功能
1)最底层的核心操作系统层(Core OS)
该层包含6个框架:1)Accelerate 加速框架、2)Core Bluetooth Framework(核心蓝牙框架)、3)External Accessory Framework(外部附件框架)、4)Generic Security Services Framework(通用安全服务框架)、5)Security Framework(安全框架)、6)System、7) 64-Bit Support
文件系统、网络基础、安全特性、能量管理、和一些设备驱动、及系统级别的API;包括内存管理、文件系统、电源管理以及一些其他的操作系统任务。它可以直接和硬件设备进行交互
核心操作系统层包括以下这些组件:
OS X Kernel Mach 3.0 BSD
Sockets Power Mgmt File System
Keychain Certificates Security
Bonjour
2)次底层的核心服务层(Core Services )
提供核心服务如,字符串处理函数、集合管理、网络管理、URL处理工具、联系人维护、偏好设置等。
包括以下这些组件:
Collections Address Book Networking
File Access SQLite Core Location
Net Services Threading Preferences
URL Utilities
3)中间层的媒体层(media )
该层框架和服务依赖Core Services层,向Cocoa Touch层提供画图和多媒体服务,如声音、图片、视频等。
包括以下这些组件:
Core Audio OpenGL Audio Mixing
Audio Recording Video Playback JPG,PNG,TIFF
PDF Quartz Core Animation
OpenGL ES
4)最上层的触摸层(Cocoa Touch)
框架基于 iPhone OS应用层直接调用层,如触摸事件、照相机管理等,包该层含UIKit框架和Foundation框架。
包括以下这些组件:
Multi-Touch Events Core Motion Camera
View Hierarchy Localization Alerts
Web Views Image Picker Multi-Touch Controls
低层次框架提供IOS的基本服务和技术,高层次框架建立在低层次框架之上用来提供更加复杂的服务和技术,较高级的框架向较低级的结构提供面向对象的抽象。
Foundation和 UIKit框架是应用编程用到的两个主要的框架,能够满足大多数应用程序的开发需求。
UIKit(。所有 iOS 应用程序都是基于 UIKit, 没有这个框架,就无法交付应用程序。UIKit提供应用程序的基础架构,用于在屏幕上绘图、处理事件,以及创建通用用户界面及其中元素。UIKit还通过管理屏幕上显示的内容,来组织应用程序。
Foundation( UIKit和其他框架,都是建立在 Foundation 框架的基础结构之上。 Foundation框架提供许多基本的对象类和数据类型,使其成为应用程序开发的基础。它还制定了一些约定(如用于取消分配等任务),使代码更加一致,可复用性更好。