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