1、 IOSIOS系统开发概述系统开发概述 App store是苹果公司基于iPhone的软件应用商店,向iPhone的用户提供第三方的应用软件服务,这是苹果开创的一个让网络与手机相融合的新型经营模式 2008年3月6日,苹果对外发布了针对iPhone的应用开发包(SDK),供免费下载,以便第三方应用开发人员开发针对iPhone及Touch的应用软件。用户购买应用所支付的费用由苹果与应用开发商3:7分成 苹果在线商店App Store拥有超过 25万个应用、6.5 亿次应用下载量,年收入近24亿美元 案例一:iShoot Sun工程师EthanNicholas开发,Nicholas靠着iShoot
2、,5个月内赚进80万美元 案例二:iSteam 住在伦敦的希腊创业者KostasEleftheriou,他跟另外两个朋友花了7天写了一个iSteam程序,结果3个月内就创下10万美元收入 案例三:多彩水族箱河北大学139.ME团队开发的一款标价为3美元的休闲游戏,上线两个月时就已经被全球78个国家的玩家下载60万次,为其拥有者带来每天1000美元的收入1.iOS介绍2.iOS系统架构及iPhone应用程序框架3.iPhone开发环境介绍1 iOS系统架构及系统架构及iPhone应用程序框架应用程序框架 iOS介绍1.iOS 操作系统是 iPhone、iPod touch 以及 iPad 设备的
3、核心。2.构建 iOS 平台的知识与 Mac OS X 系统同出一辙,iOS 平台的许多开发工具和开发技术也源自 Mac OS X。但开发者无须具备 Mac OS X 开发经验就可以编写 iOS 应用程序。iPhone 软件开发包(SDK)为着手创建 iOS 应用程序提供所需要的一切。1 1、多任务处理(、多任务处理(MultitaskingMultitasking)一直以来广大iPhone用户所期待的多任务处理功能终于在iPhone OS 4.0中到来,苹果不但支持多任务处理和任务之间的平滑切换,同时优化了iPhone待机能力,有效克服了电量消耗过快的问题。而实现多任务处理的解决办法是,苹果
4、在iPhone 4.0固件内加入了大量多任务处理的API。2 2、文件夹(、文件夹(FoldersFolders)iPhone OS 4.0的又一亮点,不但让同类型的应用程序管理起来更加方便,同时还大大增强了iPhone主界面的应用程序容量,每个文件夹最多可以放入12个程序图标,而原本iPhone最多安装九屏软件180个,有了这个功能之后,可以瞬间增长到2160个,绝对可以让iPhone用户轻松就玩到手软。3 3、增强的电子邮箱、增强的电子邮箱 许多用户已经习惯了将自己在不同邮箱中的邮件集中到一个邮箱帐户中来阅读和分类管理,而现在iPhone OS 4.0轻松实现。并且用户可以利用已有的iPh
5、one应用程序打开邮件中的附件了。4 4、iBooksiBooks iPadiPad的主打功能正式引入iPhone中,并且iPhone和iPadiPad同时共用一个书库,使用者只需购买一次,就可以在统一账号下使你的iPhone和iPadiPad同时可以收看图书。5 5、企业(、企业(enterpriseenterprise)苹果iPhone开始重视企业用户,增强了更多企业功能在iPhone OS 4.0中,加强对手机手机的数据保护,支持Exchange多账号和最新的Exchange Server 2010,以及更好的VPNVPN(虚拟专用网)的支持。6 6、游戏中心(、游戏中心(Game Ce
6、nterGame Center)iPhone OS 4.0内建一个游戏中心,继续增强其游戏娱乐性,并且将引入社交网络游戏网络游戏,苹果将使iPhone的游戏性更具竞争力。原本已经拥有杰出触控特性的iPhone有了更丰富的游戏中心,如虎添翼!7 7、移动广告系统(、移动广告系统(iAdiAd)这是苹果iPhone OS 4.0中的一大创新,该广告区别于目前常见的网络广告,对用户更友好,也更能吸引眼球,甚至让人分不清究竟是一个广告还是应用程序。所有的iPhone用户都将成为iAd广告推送的接收者,而面对当前5000万的iPhone用户其广告影响力可想而知。iOS系统架构及应用程序框架1.iOS架构
7、和Mac OS的基础架构相似。站在高级层次来看,iOS 扮演底层硬件和应用程序(显示在屏幕上的应用程序)的中介。您创建的应用程序不能直接访问硬件,而需要和系统接口进行交互。系统接口转而又去和适当的驱动打交道。这样的抽象可以防止您的应用程序改变底层硬件。2.iOS实现可以看作是多个层的集合,底层为所有应用程序提供基础服务,高层则包含一些复杂巧妙的服务和技术。3.在编写代码的时候,应该尽可能地使用高层框架,而不要使用底层框架。高层框架为底层构造提供面向对象的抽象。这些抽象可以减少需编写的代码行数,同时还对诸如socket和线程这些复杂功能进行封装,从而让编写代码变得更加容易。虽说高层框架是对底层构
8、造进行抽象,但是它并没有把底层技术屏蔽起来。如果高层框架没有为底层框架的某些功能提供接口,开发者可以直接使用底层框架。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)Coco
9、aTouch层为你提供了基本的系统行为支持,而且将你的工作量降到最低.当你想要实现更为复杂的行为和界面时,才考虑向下层探寻技术支持Cocoa Touch 层 Cocoa是一种应用程序环境,主要针对MAC OS和 IPhone OS.Cocoa是一组面向对象的框架,这组框架为运行在 MAC OS和IPhone OS上的应用程序提供了一个运行时环境。Cocoa是一个面向对象的“软件组件”的集合。正如所有的应用环境一样,Cocoa提出两个方面:一方面是:开发环境,另一方面是:运行时环境返回Foundation框架 Foundation全称Foundation Framework,是Cocoa的一个子
10、开发框架。Foundation里包含了Cocoa中最基本的一些类,它们在一个Mac应用程序中通常负责对象管理、内存管理、容器等相关数据结构的操作。Application Kit框架 Application Kit框架是一个包含了要实现画图、事件驱动用户接口等需要的所有对象,这些事件驱动用户接口包括窗口、对话框、按钮、菜单、滚动条、文本框等。UIKit框架 UIKit框架为你的程序提供可视化的底层构架,包括窗口、视图、控件类和管理这些对象的控制器。这一层中的其它框架允许你访问用户的联系人和图片信息,以及设备上的加速器和其它硬件特征。UIKit提供了一些程序运行所必须的关键对象,使得App能够 捕
11、获用户输入和在屏幕上显示内容Map Kit框架 iOS 3.0引入该框架,该框架供一个可被嵌入到应用程序的地图界面,该界面包含一个可以滚动的地图视图。Message UI框架,iOS 3.0引入该框架,可以利用该框架撰写电子邮件,并将其放入到用户的发件箱排队等候发送。4.Address Book UI 框架,可以显示创建或者编辑联系人的标准系统界面。Media层包含的框架Quartz Core 框架(QuartzCore.framework)媒体播放器框架(MediaPlayer.framework)AV Foundation 框架(AVFoundation.framework)Core Gr
12、aphics 框架(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
13、接口。Core Animation是高级动画制作和混合技术,它使用经过优化的渲染路径实现复杂的动画和视觉效果。2.媒体播放器框架(MediaPlayer.framework)为应用程序播放视频和音频内容提供高级支持。3.AV Foundation 框架,该框架包含的Objective-C 类可用于播放音频内容。4.Core Graphics框架(CoreGraphics.framework)包含Quartz 2D绘图API接口。该框架基于C接口,提供绘画功能。Media层Core Media 框架Core Telephony 框架Event Kit 框架Core services层Core S
14、ervices层为所有的应用程序提供基础系统服务。可能应用程序并不直接使用这些服务,但它们是系统很多部分赖以建构的基础。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 Configura
15、tion 框架1.Foundation框架(Foundation.framework)为 Core Foundation框架的许多功能提供Objective-C封装。2.Core Foundation框架(CoreFoundation.framework)是一组C语言接口,它们为iOS应用程序提供基本数据管理和服务功能。3.Core Location框架(CoreLocation.framework)可用于定位某个设备当前经纬度。2.1 基础知识2.2 开发流程2.3 开发模式2.4 编程语言:Object C2.5 开发过程2.6 开发工具返回面向对象的开发经验熟悉MAC OS 的使用MVC
16、模式 MVC(Model+View+Controller)是一种帮助你把代码功能和显示划分开来的设计模式 MVC模式在交互式设计中有非常广泛的使用 Model:较为下层的数据引擎,负责管理好它的实体中所集成的数据 View:为用户提供交互界面 Controller:连接二者的桥梁Objective-C 1.通常写作ObjC,是扩充C的面向对象编程语言 2.是Apple推荐的编程语言 3.Objective-C可以在gcc运作的系统写和编译,因为gcc含 Objective-C的编译器 4.可以和c/c+混合编程返回头文件依然是.hcpp变成了.m#import代替了#includeObjC中n
17、il相当于C+的NULLObjC中self类似于C+的this,但不完全一样在MAC OS X平台上和在iPhone平台上的应用程序开发有所不同,不仅仅是开发框架不同,其开发流程也不同。返回在Mac OS X平台上的开发流程:在Xcode工具中,使用一个Mac OS X SDK的模板创建一个项目;写代码,并且使用Interface Builder开发工具来构建用户接口;为项目选择项目的运行环境;使用Xcode调试工具来测试和调试应用程序,作为调试程序的一部分,也可以在输出窗口来查看系统日志;使用一个或多个可用的性能测试工具来测试系统的性能。返回对于iPhone OS平台的开发,开发流程相对复杂
18、:首先:注册一个该平台上的开发者的账号;其次:构建一个项目并发布出去,需要具体以下几步:配置远端的设备,来获得需要的工具、框架和其它被安装在设备上的组件;在Xcode工具中,使用一个iPhone OS SDK的模板创建一个项目;写代码,并且使用Interface Builder开发工具来构建用户接口;为项目选择项目的运行环境;本地编译应用程序;使用Xcode调试工具来测试和调试应用程序,作为调试程序的一部分,也可以在输出窗口来查看系统日志;使用一个或多个可用的性能测试工具来测试系统的性能。返回 ios开发工具xcode Interface Builder 快速原型开发工具,xcode4.0以后
19、集成到xocde中。Instruments 功能强大的性能调试工具 xcode 断点调试(1)MAC系统 苹果电脑.PC安装MAC(俗称:黑苹果).虚拟机安装MAC.注:个人建议还是用苹果电脑(不用不知道,一用吓一跳).(2)Xocde及SDK安装包.iPhone SDK 免费版本 标准版(99美元)企业版(299美元)Xcode是苹果公司开发的一种集成开发工具(IDE),只运行在Mac OS X平台下 可以新建、管理iPhone项目和源文件,构建可执行程序,在模拟器或是设备上运行和调试代码 可以从Apple的开发者网站免费获取http:/ Builder(IB)是Mac OS X平台下用于设
20、计和测试用户界面(GUI)的应用程序只需要通过简单的拖拽(drag-n-drop)操作来构建符合Mac OS X 风格的GUI IB使用Nib文件储存GUI资源,同时适用于Cocoa和Carbon程序,在需要的时候,Nib文件可以被快速地载入内存将界面的修改自动同步到XCode 程序的视图设计窗口向程序添加控件返回iPhone Simulator是一款模拟器软件,可你模拟大多数应用软件在iPhone设备上的运行场景为程序调试节省大量的时间模拟器和真实设备环境还是有些区别 不能模拟GPRS或EDGE无线上网方式 不能模拟多点接触操作 不能模拟OpenGL-ES 模拟器的CPU、内存相对较充裕,真
21、正设备上相对较恶劣Xcode 3.0开始,苹果公司提供了一种应用程序性能调试工具InstrumentsInstruments能记录整个应用程序的运行情况,并将所有信息按照时间顺序并排地呈现出来,让你可视化的对比分析各种“乐器”(分析工具)CPU使用率、网络、文件活动、内存分配等 Instruments中已经包含了以下六类的分析工具:用户事件:追踪用户交互动作的精确事件,如鼠标点击等 CPU和进程:监视系统活动、采样、负载图和线程 内存:跟踪垃圾回收、对象分配和泄露 文件活动:监视磁盘活动,读写和文件锁 网络活动:衡量并记录网络流量 图形:解释OpenGL驱动的内在工作 http:/ 官网Dev
22、eloper Documentation 帮助文档 http:/ http:/ 苹果中文开发网站 http:/ http:/ 斯坦福课程http:/itunes.stanford.edu/http:/www.stanford.edu/class/cs193p/cgi-bin/以上书籍网络上均有电子档,较清晰快速浏览,了解OC特性,了解与C+差异,适应OC书写代码风格.快速浏览,了解Xcode使用,了解SDK使用,了解MVC范型,了解Cocoa Touch.详细阅读,尽可能多的理解每个知识点,这个阶段需求仿照书籍用例编写代码,以加深理解.步骤1.保证你的mac os已安装xcode sdk步骤2
23、.左栏选择iphone os 下的application步骤3.输入项目名称步骤4.看xcode代码主体结构步骤5.编辑iphone图形界面步骤6.编辑图形元件名称步骤7.选择Inheritance里最底层步骤8.选择Outlets,建两个值步骤9.选择Actions,建一个值步骤10.My View Controller中的链接步骤11.生成代码步骤12.编译运行1、保证你的mac os已安装xcode sdk,打开xcode,选择create a new xcode project,点击open.(如下图)2、左栏选择iphone os 下的application,右边主体框选择windo
24、w-based application,点击choose.(如下图)3、输入项目名称,例如:HelloWorld,点击save.4、这时候你会看到xcode代码主体结构.5、双击左栏的MainWindow.xib使用Interface Builder编辑iphone图形界面.(如下图)6、双击MainWindow.xib中的Window,然后从Library中(若不存在可以从菜单栏中Tools下拉找到Library)的Objects分别找到Label,Round Rect Button,Text Field拖到Window中,在Window窗口里可以双击进行对图形元件名称编辑.7、从Libra
25、ry中的Obejcts找到Object拖到MainWindow.xib中,然后在Identity中的class框定义其名称,如:MyViewController.8、从Library中的Classes找到MyViewController,在下面的InheritanceInheritance里最底层里最底层选择为NSObject.9、在Inheritance中下拉选择选择OutletsOutlets,点击+号,新建两个值,例如定义为:label-UILabel,textField-UITextField(格式:Outlet-Type,这里需要注意的是在iphone sdk 4.0之前设定这些值是
26、在步骤7 下面显示的)10、继续下拉选择选择ActionsActions,点击+号,新建一个值,例如定义为:btnClick-id(格式:Action-Type)11、右击MainWindow.xib中的My View Controller,分别以label链接到Window的Label图形控件上,textField链接到Window的TextField图形控件上,btnClick链接到Window的Round Rect Button图形控件上的touch up inside。注意在链接过程中会有连接线做表示.(最终效果如下图)12、界面设计和配置一切都ok,开始生成代码了,点击MainWindow.xib中的My View Controller,然后从菜单栏中选择File中的Write Class Files,点击保存即可.此时会在xcode中生成两个文件,分别为:MyViewController.h和MyViewController.m 13、在MyViewController.m写下面的代码(如下图)14、ok,保存xcode中的代码和IB工具中的图形,快捷键:command+s,然后编译运行,快捷键:command+enter,在输入内容,点击按钮(效果如下图)
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。