




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章 iOS平台初探 本章内容概要 了解什么是iOS。 了解iOS的现状与发展前景。 了解iOS的主要框架结构。 了解不同iOS设备之间的联系与区别。 了解其它主流移动操作系统,如Android、Windows Phone。 掌握iOS SDK与Xcode集成开发环境的安装与配置过程。 了解主要开发工具的作用,如Xcode、Interface Builder与iOS 模拟器。 了解加入iOS开发人员计划的步骤。 掌握如何在模拟器与真实设备上运行程序。 创建第一个iOS应用程序,并了解程序的结构与代码的执行流 程。 iOS应用程序开发方法与实践 2 1.1 iOS框架介绍 iOS是指运行于iPhone、iPad和iPod touch上的操作系统及其相 关技术的统称。 在操作系统层面上,iOS是用于管理上述移动设备的操作系 统。 史蒂夫乔布斯(Steve Jobs)在2010年6月7日的WWDC全球 开发者大会上宣布将iPhone OS改名为iOS。 iOS应用程序开发方法与实践 3 1.1.1 现状与发展前景 iOS系统外观时尚典雅、界面华丽优美、操作简单直白。 利用触屏、各种手势,颠覆了传统移动设备的交互方式。 更好的娱乐体验。 良好的生态环境造就了苹果App Store中的海量应用程序。 iOS应用程序开发方法与实践 4 1.1.2 框架介绍 按照功能,iOS框架主要分为4层。 上层抽象,下层具体。 应优先考虑使用较高的层提供的服务 ,只有当高层服务不能满足某一具体 需要的时候,才考虑使用较低的层。 这样做的好处是什么? UIKit框架与Foundation框架结合在一 起称为Cocoa Touch。 Core OS Core Services Media Cocoa Touch iOS分层架构图 iOS应用程序开发方法与实践 5 1.1.3 不同iOS设备的联系与区别 iPhone、iPad或者iPod touch都由iOS系统进行管理。 大部分情况下iOS应用程序可以在上述设备上运行。 不同苹果移动设备间的差异: 物理差异:屏幕尺寸不同(针对不同设备单独设计界面)、有无 摄像头等。 SDK中的某些类专门针对特定设备,例如分割视图控制器( UISplitViewController)等只针对iPad。 有时候相同的类在不同设备上的行为是有区别的,一定要用指定 类型的设备进行测试。 iOS应用程序开发方法与实践 6 1.2 其它主流移动操作系统简介 Android Google公司发布。 开源。 无缝集成Google应用。 使用Java来开发Android应用。 对硬件要求高。 安全性需要进一步提高。 设备种类繁多,造成程序兼容性问题。 安装Android SDK,并使用Eclipse集成开发环境进行开发。 iOS应用程序开发方法与实践 7 1.2 其它主流移动操作系统简介 Windows Phone 微软公司发布。 极高的易用性和强大的可扩展能力。 封闭。 基于.NET Compact Framework框架。 使用Visual Studio集成开发环境,利用C#、VB.net编程语言来开 发应用程序。 iOS应用程序开发方法与实践 8 1.3 安装并配置集成开发环境 iOS SDK中包含了众多类库以及集成开发环境。 Xcode是一款功能强大的集成开发环境。 Xcode让程序开发过程更容易、更迅速,而且从程序开发到测 试、调试、发布都被完整地集成在了一起。 iOS应用程序开发方法与实践 9 1.3.1 申请加入iOS开发人员计划 加入iOS开发人员计划后可以: 访问iOS开发中心网站上的所有资源。 获得苹果公司的技术支持。 允许生成证书,并在真机上进行程序的部署与调试。 将程序提交到苹果商店。 iOS开发人员计划分为个人版用户与企业版用户两种。 个人版用户可以提交应用到苹果商店,99美元/年。 企业版用户仅用于企业内部使用,无法提交app至苹果商店,399 美元/年。 iOS应用程序开发方法与实践 10 1.3.1 加入iOS开发人员计划的步骤 在苹果网站中提交个人信息。 Apple ID。 选择要加入的程序的类别。 输入个人信息与银行账户信息。 下载并填写PDF申请表。 发送传真或电子邮件。 激活账户。 iOS应用程序开发方法与实践 11 1.3.2 安装Xcode与iOS SDK 必备条件: 基于Intel处理器的Mac计算机。 安装了Mac OS X 10.6.5或更高版本的操作系统。 可以在App Store中在线安装,或者下载dmg安装镜像文件后手 动安装。 iOS应用程序开发方法与实践 12 1.3.3 其他相关开发工具介绍 Dashcode.app:开发基于Web的应用程序,或是Dashboard小工 具。 Instruments.app:一个采样与分析工具,可以监测内存使用和 内存泄漏,给出程序性能指标,定位出现问题的代码,用于 程序性能测试与优化。 Quartz Composer.app:创建动画、图形。 iOS模拟器:运行和调试程序。 iOS应用程序开发方法与实践 13 1.4 配置iOS设备以运行程序 按照以下步骤配置iOS设备,以运行程序并调试: 加入iOS开发人员计划。 生成并安装证书。 注册设备。 创建应用程序ID。 创建并安装描述文件。 iOS应用程序开发方法与实践 14 1.4.1 生成并安装证书 证书唯一标识了应用程序的开发人员。 证书包含共享的公钥和个人私钥。 如果在真机上运行程序,则Xcode在编译程序时会查找系统中 安装的证书,并根据证书对程序进行签名。如果找不到证书 ,则提示编译失败。 创建并安装证书的步骤: 在钥匙串访问程序中创建证书签名请求。 将证书签名请求文件上传至iOS开发人员管理页面中并创建证 书。 下载证书并安装。 iOS应用程序开发方法与实践 15 1.4.2 注册设备 只有设备经过注册之后才能运行和调试程序。 注册设备的步骤: 将iOS设备连接至Mac计算机。 在Xcode或者iTunes中查看设备的UDID。 将设备的UDID提交到iOS开发人员管理页面中。 iOS应用程序开发方法与实践 16 1.4.3 创建应用程序ID 包ID(Bundle ID)用于唯一标识应用程序。 应用程序ID用于对包ID进行匹配(大小写敏感)。 应用程序ID包含包种子ID与包ID查询字符串,中间用点分 开。 精确:A1B2C3D4E5.com.LearnIOS.myApplication 使用通配符:A1B2C3D4E5.com.LearnIOS.* 包种子ID用于区别不同的iOS开发人员或团队。 包ID查询字符串用于对包ID进行匹配。 iOS只允许执行包ID匹配应用程序ID的应用程序。 iOS应用程序开发方法与实践 17 1.4.4 创建并安装描述文件 描述文件用于验证签名并执行应用程序。 描述文件包含指定的证书、应用程序ID与设备列表。 iOS设备必须安装描述文件才能够运行指定的应用程序。 需要在iOS开发人员管理页面中创建描述文件,下载并安装该 文件。 描述文件必须同时安装在Xcode中与iOS设备中。 iOS应用程序开发方法与实践 18 1.4.4 验证流程图 iOS应用程序开发方法与实践 19 1.5 使用Xcode创建第一个iOS应用程序 iOS应用程序开发方法与实践 20 1.5.1 在Xcode中创建项目 初次启动Xcode时会显示欢迎窗口。 新建项目时需选择某种项目模板,用于创建不同的源文件与 默认的代码结构。 在项目配置窗口中输入项目名、包ID前缀,选择设备家族。 要在iOS设备上运行程序,则必须让包ID匹配应用程序ID。 指定项目的存放位置。 iOS应用程序开发方法与实践 21 1.5.2 熟悉Xcode界面 iOS应用程序开发方法与实践 22 1.5.3 了解项目文件的组织结构 iOS应用程序开发方法与实践 23 1.5.3 了解项目文件的组织结构 不同的扩展名表示了文件的不同作用。 .h:头文件。 .c:C源代码文件。 .cc或.cpp:C+源代码文件。 .m:Objective-C源代码文件。 .pch:预编译头文件,用于加快处理头文件的速度。 .xib:界面定义文件。 .plist:属性列表文件。 iOS应用程序开发方法与实践 24 1.5.4 编译并运行项目 在下拉菜单中指定程序是在哪个设备或者模拟器里运行。 按下Run按钮,或者快捷键R。 iOS应用程序开发方法与实践 25 1.5.5 使用IB丰富程序界面 Interface Builder是 iOS SDK提 供的界面设 计工具。 所见即所 得。 通过图形化 拖拽的方式 进行设计。 界面信息与 程序代码分 离。 iOS应用程序开发方法与实践 26 1.5.5 使用IB丰富程序界面 界面信息存储在nib文件中。 xib文件是一个XML文件,保存对象类型与界面信息等。 xib文件会被编译为二进制形式的nib文件。 不管是xib文件还是nib文件,苹果的官方说法都称其为nib文 件。 在对象库窗口中选中控件,并将其拖拽至设计器中。 还可以设置对象类型、属性、位置、尺寸、关联、设置字体 和颜色等信息。 iOS应用程序开发方法与实践 27 1.5.6 在iOS设备上运行程序 加入iOS开发人员计划并安装证书与描述文件。 在下拉菜单中选择指定的设备。 编译运行。 iOS应用程序开发方法与实践 28 1.5.7 使用iOS模拟器 iOS模拟器用于对程序进行初步的测试与调试。 模拟器允许进行以下操作: 进行各种触屏操作。 方位旋转。 特殊情况模拟,如内存不足。 切换设备类型与版本。 模拟器具有局限性,不能替代真实设备。一定要在iOS设备上 对程序进行全面测试。 iOS应用程序开发方法与实践 29 1.6 了解程序执行的具体过程 iOS应用程序开发方法与实践 30 1.6.1 图形界面程序执行的基本流程 不同程序之间的主要差异: 程序界面不同(初始化部分)。 能够处理的事件类型与处理方式不 同(处理事件部分)。 UIKit框架定义了应用程序的基本 公共行为。每个iOS程序都基于 UIKit框架且有着相同的核心架 构。 事件的发生是iOS通知应用程序的 ,不是应用程序自己就知道的。事 件处理方法是回调方法(Callback Method)。 iOS应用程序开发方法与实践 31 1.6.2 程序入口 程序启动时,操作系统会加载并执行入口点的代码。 iOS应用程序的入口函数是main函数。 iOS应用程序开发方法与实践 32 1.6.3 应用程序类与应用程序对象 main函数:入口函数。 UIApplicationMain函数用于: 创建应用程序对象,并建立事件循环。 创建应用程序委托对象。 应用程序对象是一个UIApplication类的对象,处于应用程序的 核心,负责以下任务: 应用程序的初始化。 建立消息循环。 不停地接收事件并进行处理。 iOS应用程序开发方法与实践 33 1.6.4 委托模式 类A的对象将发送给它的消息转发给类B的对象来处理,这里 的类B就是类A的委托类。 类A的行为由于接口的存在也变得十分灵活。 不使用继承就能够得到灵活的行为。 iOS应用程序开发方法与实践 34 1.6.5 应用程序委托类 对于iOS应用程序: 应用程序类UIApplication对应图中的类A。 应用程序委托协议UIApplicationDelegate对应图中的 DelegationProtocol。 应用程序委托类XXXAppDelegate对应类B或类C。 iOS应用程序开发方法与实践 35 1.6.5 应用程序委托类 应用程序委托类用于灵活处理应用程序的重要事件。 应用程序已经完成启动。 应用程序已经激活。 应用程序即将取消激活。 系统内存不足。 应用程序即将终止。 iOS应用程序开发方法与实践 36 1.6.6 分析程序执行的流程 应用程序的主要执行过程为: 调用入口main函数。 调用UIApplicationMain函数。 创建应用程序对象。 创建应用程序委托对象。 调用委托对象的application:didFinishLaunchingWithOptions:方法。 Xcode的不同版本生成的默认代码并不完全相同,但大体
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智能制造产教融合实训基地项目技术方案
- 芯片封装材料生产线项目节能评估报告
- 信号通路干扰效应-洞察与解读
- 3D模型缝纫技术-洞察与解读
- 基础结构防水技术与施工方案
- 道路照明系统能效提升方案
- 贵金属废料综合利用项目施工方案
- 城区错接混接改造及雨污水管网建设项目技术方案
- 矿泉水生产线项目建设工程方案
- DB54T 0013-2019 花椰菜生产技术规程
- 成人反流误吸高危人群全身麻醉管理专家共识(2025版)解读 3
- 淀粉加工工培训考核试卷及答案
- 网站推广代理服务合同5篇
- 2025年燃气职业技能鉴定全真模拟模拟题【各地真题】附答案详解
- 2025-2026学年辽海版(2024)小学美术二年级上册《巧用材料》教学设计
- 2025中数联物流科技(上海)有限公司招聘考试参考试题及答案解析
- 具身智能+农业种植智能农业机器人应用研究报告
- 量子计算在人工智能领域的发展趋势与2025年应用案例分析报告
- 医疗风险与安全培训课件
- 2025年未来就业报告
- 艾梅乙反歧视培训课件
评论
0/150
提交评论