Upload
shan-li
View
861
Download
6
Embed Size (px)
Citation preview
戴
维
营
教
育
iOS开发
iOS系统概述
13年8月13⽇日星期⼆二
主要内容
iOS系统简介
iOS平台特性
iOS开发环境介绍
应用程序的状态转换
13年8月13⽇日星期⼆二
iOS系统简介
iOS是Apple公司用于iPhone、iPod touch和iPad的操作系统。
iOS与Mac OS X一样源于Unix系统。
iOS SDK提供了创建iOS应用的工具与应用程序框架。
13年8月13⽇日星期⼆二
iOS系统简介
iOS系统是顶层硬件与应用程序的中介。应用
程序一般只能通过系统
提供的接口访问硬件,
而不能直接使用这些资
源。这样可以使应用程
序避免受底层硬件改变
的直接影响。系统通过
层层抽象为应用提供复
杂的服务。
13年8月13⽇日星期⼆二
iOS系统简介
Cocoa Touch包含类创建iOS应用的关键框架,如多任务、触摸、消息推送等。开发应用时应该首
先考虑该层的技术。
UIKit框架,提供关键的图形、事件、多任务、传感器、摄像头等框架。(附件图片)
Message UI框架,给应用提供邮件与短信发送服务。
MapKit框架提供可以嵌入应用的地图服务。
13年8月13⽇日星期⼆二
iOS系统简介
Media层包含更底层的图像、音频、视频等多媒体服务。可以使你的应用变得更有吸引力。
Core Graphics(Quartz 2D)、Core Animation、OpenGL ES、Core Text等提供绘图和动画功能。
Media Player、AV Foundation、OpenAL、Core Audio等提供声音和视频功能。
Core Media、Camera等提供多媒体处理功能。
13年8月13⽇日星期⼆二
iOS系统简介
Core Service层提供系统基础服务,很大一部分应用的功能都构建与它们之上,可能很少直接使
用。
iCould云服务。
Block对象、ARC自动引用计数、数据保护、文件共享、SQLite、XML。
CFNetwork、Core Data、Core Foundation(C接口)、Foundation(OC接口)框架等。
13年8月13⽇日星期⼆二
iOS系统简介
Core OS层为前面的各层提供底层支撑。与外设的沟通必须通过该层。
Accelerate框架提供DSP、线性代数、图像处理运算等。
External Accessory框架提供与外设通信的能力。
Security框架提供数据安全保护。
13年8月13⽇日星期⼆二
iOS平台特性屏幕大小有限、分辨率很大(retinal
处理能力有限、内存有限
单窗口显示模式
文件访问受限
支持众多传感器,使用触摸手势
电池续航时间有限
使用时间碎片化
13年8月13⽇日星期⼆二
iOS系统特性
屏幕分辨率介绍
iPhone/iPod touch:320*480、640*960、640*1138
iPad/iPad Mini: 1024*768、2048*1536
13年8月13⽇日星期⼆二
iOS系统特性
多任务模式
iOS 4.0开始支持多任务。
只有特定类型的任务可以后台运行(音频、位
置服务、VOIP、Newsstand、连接外设的APP等)。
其它任务在后台允许运行的时间有限。
13年8月13⽇日星期⼆二
iOS系统特性
全触摸屏操作
摄像头、麦克风
位置服务功能
3D陀螺仪
网络功能等
13年8月13⽇日星期⼆二
iOS开发环境简介
iOS应用可以大概分为三类:
Native APP,原生应用。
Web APP,网页应用。
Hybrid App,混合应用。
13年8月13⽇日星期⼆二
iOS开发环境介绍
开发原生应用主要使用Mac OS X系统。
官方提供Xcode开发工具,使用Objective-C作为主要开发语言。
可以使用C、C++、Mono、Javascript、Lua、Ruby等语言进行原生或者混合应用的开发,有许多第三方工具,如Mono、Titanium、Flash CS 5等。
13年8月13⽇日星期⼆二
iOS开发环境简介
Xcode:iOS/Mac集成开发环境
Interface Builder:可视化UI开发工具,Xcod 4.0后集成到类Xcode中,Xcode 4.3开始被StoryBoard取代,但基本使用方式一样。
Instruments:调试工具集合。
iPhone Simulator:iOS模拟器,Mac上模仿iOS应用的行为,但是并不是所有功能。
13年8月13⽇日星期⼆二
iOS开发环境简介
13年8月13⽇日星期⼆二
iOS开发环境简介
Xib(StoryBoard)文件创建用户界面
可视化创建、简单直观,对版本管理系统不太
友好,可定制性稍差。
纯代码创建用户界面
可控性大,复杂,难于上手,方便版本管理。
13年8月13⽇日星期⼆二
iOS开发环境简介
从Xib文件里加载用户界面
从代码创建用户界面
NSArray *array = [[NSBundle mainBundle] loadNibNamed:@"View" owner:self options:nil];UIView *tmpView = [array objectAtIndex:0];[self.window addSubview:tmpView];
UIView *tmpView1 = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 50, 50)]; tmpView1.backgroundColor = [UIColor redColor]; [self.window addSubview:tmpView1];
NSBundle的mainBundle可以用来访问程序的资源文件等。
13年8月13⽇日星期⼆二
iOS开发环境简介
动手操作!
13年8月13⽇日星期⼆二
应用程序的状态转换
iOS应用程序从启动到终止过程中会发生一系列的状态转换,由于系统资源有限,每个应用都可能
需要在前后台之间进行切换,我们需要根据不同
的状态进行相应的操作。
13年8月13⽇日星期⼆二
应用程序的状态转换
application:willFinishLaunchingWithOptions:,将要完成启动
application:didFinishLaunchingWithOptions:,完成启动
applicationDidBecomeActive:,进入活跃状态
applicationWillResignActive:,将要取消活跃状态
applicationDidEnterBackground:,进入后台
applicationWillEnterForeground:,进入前台
applicationWillTerminate:,即将终止
13年8月13⽇日星期⼆二
课后练习
创建一个Hello,world应用,打印出应用程序进入某个状态阶段的信息。
在Hello,world中随意拉入一些控件,看看都是什么样的控件。
13年8月13⽇日星期⼆二