一,简述
1.1,IOS操作系统的层次架构
iOS为应用程序开发提供了许多可使用的框架,并构成IOS操作系统的层次架构,分为四层,从上到下依次为:
Cocoa Touch Layer(触摸UI层)、MediaLayer(媒体层)、Core Services Layer(核心服务层)、Core OS Layer(核心OS层)。
低层次框架提供IOS的基本服务和技术,高层次框架建立在低层次框架之上用来提供更加复杂的服务和技术,较高级的框架向较低级的结构提供面向对象的抽象。
在开发应用时应尽可能使用较高级的框架。如果要开发的国内在高层框架中没有提供,你也可以使用较低层框架和技术。
1.2,Foundation 和UIKit框架
Foundation和 UIKit框架是应用编程用到的两个主要的框架,能够满足大多数应用程序的开发需求。
UIKit框架:
UIKit框架提供的类,用于创建基于触摸的用户界面。所有 iOS 应用程序都是基于 UIKit, 没有这个框架,就无法交付应用程序。UIKit提供应用程序的基础架构,用于在屏幕上绘图、处理事件,以及创建通用用户界面及其中元素。UIKit还通过管理屏幕上显示的内容,来组织应用程序。
Foundation框架:
Foundation框架为所有应用程序提供基本的系统服务。应用程序以及 UIKit和其他框架,都是建立在 Foundation 框架的基础结构之上。 Foundation框架提供许多基本的对象类和数据类型,使其成为应用程序开发的基础。它还制定了一些约定(如用于取消分配等任务),使代码更加一致,可复用性更好。
二,框架架构图
三,iOS常用的基础框架
框架名称 |
功能 |
Foundation |
提供OC的基础类(像NSObject,NSString等)、基本数据类型等 |
UIKit |
创建和管理应用程序的用户界面 |
QuartzCore |
提供动画特效以及通过硬件进行渲染的能力 |
CoreGraphics |
提供2D绘制的基于C的API |
SystemConfiguration |
检测当前网络是否可用和硬件设备状态 |
AVFoundation |
提供音频录制和回放的底层API,同时也负责管理音频硬件 |
CFNetwork |
访问和配置网络,像HTTP、FTP和Bonjour Services |
CoreFoundation |
提供抽象的常用数据类型,如Unicode strings、XML、URL等 |
CoreLocation |
使用GPS和WIFI获取位置信息 |
GameKit |
为游戏提供网络功能:点对点互联和游戏中的语音交流 |
AddressBook |
提供访问用户联系人信息的功能 |
AddressBookUI |
提供一个用户界面,用于显示存储在地址簿中的联系人信息 |
AudioToolBox |
提供音频录制和回放的底层API,同时也负责管理音频硬件 |
AudioUnit |
提供一个接口,让我们的应用程序可以对音频进行处理 |
MapKit |
为应用程序提供内嵌地图的接口 |
MediaPlayer |
提供播放视频和音频的功能 |
MessageUI |
提供视图控制接口用以处理E-mail和短信 |
OpenGLES |
提供动画特效以及通过硬件进行渲染的能力 |
StoreKit |
为应用程序提供在程序运行中消费的支持 |