0.1 i os系统概述

22
戴维营教育iOS开发 iOS系统概述 13813星期

Transcript of 0.1 i os系统概述

Page 1: 0.1 i os系统概述

iOS开发

iOS系统概述

13年8月13⽇日星期⼆二

Page 2: 0.1 i os系统概述

主要内容

iOS系统简介

iOS平台特性

iOS开发环境介绍

应用程序的状态转换

13年8月13⽇日星期⼆二

Page 3: 0.1 i os系统概述

iOS系统简介

iOS是Apple公司用于iPhone、iPod touch和iPad的操作系统。

iOS与Mac OS X一样源于Unix系统。

iOS SDK提供了创建iOS应用的工具与应用程序框架。

13年8月13⽇日星期⼆二

Page 4: 0.1 i os系统概述

iOS系统简介

iOS系统是顶层硬件与应用程序的中介。应用

程序一般只能通过系统

提供的接口访问硬件,

而不能直接使用这些资

源。这样可以使应用程

序避免受底层硬件改变

的直接影响。系统通过

层层抽象为应用提供复

杂的服务。

13年8月13⽇日星期⼆二

Page 5: 0.1 i os系统概述

iOS系统简介

Cocoa Touch包含类创建iOS应用的关键框架,如多任务、触摸、消息推送等。开发应用时应该首

先考虑该层的技术。

UIKit框架,提供关键的图形、事件、多任务、传感器、摄像头等框架。(附件图片)

Message UI框架,给应用提供邮件与短信发送服务。

MapKit框架提供可以嵌入应用的地图服务。

13年8月13⽇日星期⼆二

Page 6: 0.1 i os系统概述

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⽇日星期⼆二

Page 7: 0.1 i os系统概述

iOS系统简介

Core Service层提供系统基础服务,很大一部分应用的功能都构建与它们之上,可能很少直接使

用。

iCould云服务。

Block对象、ARC自动引用计数、数据保护、文件共享、SQLite、XML。

CFNetwork、Core Data、Core Foundation(C接口)、Foundation(OC接口)框架等。

13年8月13⽇日星期⼆二

Page 8: 0.1 i os系统概述

iOS系统简介

Core OS层为前面的各层提供底层支撑。与外设的沟通必须通过该层。

Accelerate框架提供DSP、线性代数、图像处理运算等。

External Accessory框架提供与外设通信的能力。

Security框架提供数据安全保护。

13年8月13⽇日星期⼆二

Page 9: 0.1 i os系统概述

iOS平台特性屏幕大小有限、分辨率很大(retinal

处理能力有限、内存有限

单窗口显示模式

文件访问受限

支持众多传感器,使用触摸手势

电池续航时间有限

使用时间碎片化

13年8月13⽇日星期⼆二

Page 10: 0.1 i os系统概述

iOS系统特性

屏幕分辨率介绍

iPhone/iPod touch:320*480、640*960、640*1138

iPad/iPad Mini: 1024*768、2048*1536

13年8月13⽇日星期⼆二

Page 11: 0.1 i os系统概述

iOS系统特性

多任务模式

iOS 4.0开始支持多任务。

只有特定类型的任务可以后台运行(音频、位

置服务、VOIP、Newsstand、连接外设的APP等)。

其它任务在后台允许运行的时间有限。

13年8月13⽇日星期⼆二

Page 12: 0.1 i os系统概述

iOS系统特性

全触摸屏操作

摄像头、麦克风

位置服务功能

3D陀螺仪

网络功能等

13年8月13⽇日星期⼆二

Page 13: 0.1 i os系统概述

iOS开发环境简介

iOS应用可以大概分为三类:

Native APP,原生应用。

Web APP,网页应用。

Hybrid App,混合应用。

13年8月13⽇日星期⼆二

Page 14: 0.1 i os系统概述

iOS开发环境介绍

开发原生应用主要使用Mac OS X系统。

官方提供Xcode开发工具,使用Objective-C作为主要开发语言。

可以使用C、C++、Mono、Javascript、Lua、Ruby等语言进行原生或者混合应用的开发,有许多第三方工具,如Mono、Titanium、Flash CS 5等。

13年8月13⽇日星期⼆二

Page 15: 0.1 i os系统概述

iOS开发环境简介

Xcode:iOS/Mac集成开发环境

Interface Builder:可视化UI开发工具,Xcod 4.0后集成到类Xcode中,Xcode 4.3开始被StoryBoard取代,但基本使用方式一样。

Instruments:调试工具集合。

iPhone Simulator:iOS模拟器,Mac上模仿iOS应用的行为,但是并不是所有功能。

13年8月13⽇日星期⼆二

Page 16: 0.1 i os系统概述

iOS开发环境简介

13年8月13⽇日星期⼆二

Page 17: 0.1 i os系统概述

iOS开发环境简介

Xib(StoryBoard)文件创建用户界面

可视化创建、简单直观,对版本管理系统不太

友好,可定制性稍差。

纯代码创建用户界面

可控性大,复杂,难于上手,方便版本管理。

13年8月13⽇日星期⼆二

Page 18: 0.1 i os系统概述

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⽇日星期⼆二

Page 19: 0.1 i os系统概述

iOS开发环境简介

动手操作!

13年8月13⽇日星期⼆二

Page 20: 0.1 i os系统概述

应用程序的状态转换

iOS应用程序从启动到终止过程中会发生一系列的状态转换,由于系统资源有限,每个应用都可能

需要在前后台之间进行切换,我们需要根据不同

的状态进行相应的操作。

13年8月13⽇日星期⼆二

Page 21: 0.1 i os系统概述

应用程序的状态转换

application:willFinishLaunchingWithOptions:,将要完成启动

application:didFinishLaunchingWithOptions:,完成启动

applicationDidBecomeActive:,进入活跃状态

applicationWillResignActive:,将要取消活跃状态

applicationDidEnterBackground:,进入后台

applicationWillEnterForeground:,进入前台

applicationWillTerminate:,即将终止

13年8月13⽇日星期⼆二

Page 22: 0.1 i os系统概述

课后练习

创建一个Hello,world应用,打印出应用程序进入某个状态阶段的信息。

在Hello,world中随意拉入一些控件,看看都是什么样的控件。

13年8月13⽇日星期⼆二