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