
iOS系统架构及iPhone应用程序框架.ppt
11页中软国际培训中心 本节目标1.智能现状2.iOS介绍3.iOS系统架构及iPhone应用程序框架4.iPhone开发环境介绍5.APP生命周期智能现状1.苹果iOS、谷歌Android、微软WindowsPhone占据主流市场2.塞班Symbian曾经的巨头已经日落西山,黑莓的市场份额也在逐渐被抢占3.Android操作系统介绍iOS介绍1.iOS操作系统是iPhone、iPodtouch以及iPad设备的核心2.构建iOS平台的知识与MacOSX系统同出⼀一辙,iOS平台的许多开发工具和开发技术也源自MacOSX但开发者无须具备MacOSX开发经验就可以编写iOS应用程序iPhone软件开发包(SDK)为着手创建iOS应用程序提供所需要的⼀一切iOS系统架构及应用程序框架1.iOS架构和MacOS的基础架构相似站在高级层次来看,iOS扮演底层硬件和应用程序(显示在屏幕上的应用程序)的中介您创建的应用程序不能直接访问硬件,而需要和系统接口进行交互系统接口转而又去和适当的驱动打交道这样的抽象可以防止您的应用程序改变底层硬件。
2.iOS实现可以看作是多个层的集合,底层为所有应用程序提供基础服务,高层则包含一些复杂巧妙的服务和技术3.在编写代码的时候,应该尽可能地使用高层框架,而不要使用底层框架高层框架为底层构造提供面向对象的抽象这些抽象可以减少需编写的代码行数,同时还对诸如socket和线程这些复杂功能进行封装,从而让编写代码变得更加容易虽说高层框架是对底层构造进行抽象,但是它并没有把底层技术屏蔽起来如果高层框架没有为底层框架的某些功能提供接口,开发者可以直接使用底层框架CocoaTouch层包含的框架UIKit框架(UIKit.framework)MapKit框架(MapKit.framework)MessageUI框架(MessageUI.framework)AddressBookUI框架(AddressBookUI.framework)EventKitUI框架(EventKitUI.framework)GameKit框架(GameKit.framework)iAd框架(iAd.framework)•CocoaTouch层为你提供了基本的系统行为支持,而且将你的工作量降到最低.•当你想要实现更为复杂的行为和界面时,才考虑向下层探寻技术支持常用框架介绍1.UIKit提供了⼀一些程序运行所必须的关键对象,使得App能够捕获用户输入和在屏幕上显示内容2.MapKit框架,iOS3.0引入该框架,该框架供⼀一个可被嵌入到应用程序的地图界面,该界面包含⼀一个可以滚动的地图视图。
3.MessageUI框架,iOS3.0引入该框架,可以利用该框架撰写电子邮件,并将其放入到用户的发件箱排队等候发送4.AddressBookUI框架,可以显示创建或者编辑联系人的标准系统界面CocoaTouch层Media层包含的框架QuartzCore框架(QuartzCore.framework)媒体播放器框架(MediaPlayer.framework)AVFoundation框架(AVFoundation.framework)CoreGraphics框架(CoreGraphics.framework)CoreAudio(CoreAudio.framework、AudioToolbox.framework、AudioUnit.framework)CoreText框架(CoreText.framework)CoreVideo框架(CoreVideo.framework)ImageI/O框架(ImageIO.framework)OpenAL框架OpenGLES框架(OpenGLES.framework)Media层包含图形、音频、视频技术常用框架介绍1.QuartzCore框架包含CoreAnimation接口。
CoreAnimation是高级动画制作和混合技术,它使用经过优化的渲染路径实现复杂的动画和视觉效果2.媒体播放器框架(MediaPlayer.framework)为应用程序播放视频和音频内容提供高级支持3.AVFoundation框架,该框架包含的Objective-C类可用于播放音频内容4.CoreGraphics框架(CoreGraphics.framework)包含Quartz2D绘图API接口该框架基于C接口,提供绘画功能Media层CoreMedia框架CoreTelephony框架EventKit框架Coreservices层CoreServices层为所有的应用程序提供基础系统服务可能应用程序并不直接使用这些服务,但它们是系统很多部分赖以建构的基础CoreServices层包含框架Foundation框架(Foundation.framework)CoreFoundation框架(CoreFoundation.framework)CoreLocation框架(CoreLocation.framework)AddressBook框架CFNetwork框架CoreData框架MobileCoreServices框架QuickLook框架StoreKit框架SystemConfiguration框架1.Foundation框架(Foundation.framework)为CoreFoundation框架的许多功能提供Objective-C封装。
2.CoreFoundation框架(CoreFoundation.framework)是⼀一组C语言接口,它们为iOS应用程序提供基本数据管理和服务功能3.CoreLocation框架(CoreLocation.framework)可用于定位某个设备当前经纬度iPhone开发环境介绍1.ios开发工具xcode2.InterfaceBuilder快速原型开发工具,xcode4.0以后集成到xocde中3.Instruments功能强大的性能调试工具4.xcode断点调试main()应用程序委托视图控制器APP生命周期应用程序委托实现是APP生命周期的关键点,委托负责初始化UIWindow窗口系统,初始化根视图控制器重要的委托方法●application:didFinishLaunchingWithOptions:该方法是应用程序对象实例化后,程序首先被触发的部分●applicationWillResignActive:当应用程序将要入非活动状态执行,在此期间,应用程序不接收消息或事件,比如来了、锁屏等●applicationDidBecomeActive:当应用程序入活动状态执行,这个刚好跟上面那个方法相反●applicationDidEnterBackground:当程序被推送到后台的时候调用。
所以要设置后台继续运行,则在这个函数里面设置即可●applicationWillEnterForeground当程序从后台将要重新回到前台时候调用,这个刚好跟上面的那个方法相反●applicationWillTerminate:当程序将要退出是被调用,通常是用来保存数据和⼀一些退出前的清理工作APP生命周期流程图。
