出版时间:2013-1-1 出版社:机械工业出版社华章公司 作者:Kirby Turner,Tom Harrington 页数:528 译者:张菲
Tag标签:无
内容概要
《iPad应用开发实践指南》在国外iOS开发者社区内颇受推崇,由资深的iOS开发工程师撰写,国际Mac和iPhone开发者社区CocoaHeads联合创始人Mark Dalrymple等数位专家联袂推荐!相比同类书,它有两大特色:第一,全书以一个真实的PhotoWheel应用(可在APP Store上下载)为驱动,既以迭代的方式逐步讲解了整个应用的开发过程,又全面而系统地讲解了开发iPad应用所需要掌握的技术知识、方法、流程,可操作性强,是系统学习和实践iPad应用开发的经典著作;第二,本书根据iPad和iPhone在设备特性上的差异深刻地指出了iPad应用开发和iPhone应用开发之间的不同之处,对于深度的iPad应用开发者来说,本书是极为宝贵的! 《iPad应用开发实践指南》全书有27章,分为三部分:第一部分(第1~7章)详细介绍了开发iOS应用应具备的基础知识,包括Xcode、Interface Builder、Objective-C和Cocoa等,以及如何为iPad配置信息和如何构建应用程序;第二部分(第8~24章)是本书的核心,详细讲解了PhotoWheel的完整开发过程以及所需的理论知识,具体包括创建主从复合应用程序、使用表格视图、用视图工作、使用触屏手势、添加照片、数据持久化、故事板、视图控制器、创建照片浏览器、支持设备旋转、用AirPrint打印、发送电子邮件、与iCloud同步、用AirPlay制作幻灯片和Core Image的视觉特效等;第三部分(第25~27章)介绍了应用程序的调试和发布。最后是一个附录,介绍了如何创建iOS开发账号、下载iOS SDK,以及在Mac计算机上安装开发工具。
作者简介
作者:(美国)Kirby Turner (美国)Tom Harrington 译者:张菲Kirby Turner,资深软件开发工程师,有超过20年的软件开发经验。目前是一位独立的软件开发者,专注于Mac和iOS平台上的应用开发,有多款应用在APP Store上销售。热衷于分享,共同组织了CocoaHeads等技术会议,为社区的发展和改善贡献了力量。Tom Harrington,资深Mac和iOS应用开发工程师,在该领域有6年以上的开发经验,在社区里非常活跃,共同组织了CocoaHeads等技术会议和克罗拉多州的多场iOS开发者活动,著有《Core Data for iOS》一书。此外,他还擅长嵌入式系统和Linux平台下的软件开发。
书籍目录
译者序序前言第一部分 入门第1章 你的第一个应用程序 11.1 创建“Hello World”项目 11.2 在屏幕上显示文字 51.3 说“Hello" 61.4 小结 10第2章 Xcode入门 112.1 集成开发环境 112.2 工作区窗口 122.2.1 工具栏 122.2.2 导航区 122.2.3 编辑区 132.2.4 工具区 142.2.5 调试区 152.3 首选项 152.3.1 字体与颜色 162.3.2 文本编辑 162.3.3 按键绑定首选项 182.3.4 代码补全 192.4 开发者文档 202.5 编辑器 212.6 项目设置 222.7 方案 232.8 组织者 242.9 其他Xcode工具 252.10 小结 25第3章 Interface Builder入门 263.1 Interface Builder 263.2 IB怎样工作 273.3 着手使用IB 273.3.1 选取与复制对象 293.3.2 对齐对象 293.3.3 布局矩形框 313.3.4 修改状态 313.4 将NIB与代码关联起来 333.4.1 在代码中定义插座变量 333.4.2 使用辅助编辑器 363.5 故事板 373.6 小结 37第4章 Objective-C入门 384.1 什么是Objective-C 384.2 玩转Objective-C 394.2.1 动手写代码 404.2.2 对象 414.2.3 类 424.2.4 NSObject 434.2.5 接口 434.2.6 实例变量 444.2.7 声明属性 454.2.8 方法 474.2.9 实现 474.2.10 合成 484.2.11 init 494.2.12 super 494.2.13 flip 494.2.14 选择器 504.2.15 点语法 514.3 CoinTosser类的用法 514.4 内存管理 524.5 小结 53第5章 Cocoa入门 545.1 Cocoa栈 545.2 Foundation 555.2.1 数据类型 565.2.2 集合类 605.2.3 工具类与函数 615.3 UIKit 655.3.1 UIApplication 655.3.2 UIWindow 655.3.3 UIScreen 655.3.4 UIView 655.3.5 UIViewController 655.3.6 UIWebView 655.3.7 UILabel 665.3.8 UITextField 665.3.9 UITextView 665.3.10 UIButton 665.3.11 UITableView与UITableViewCell 675.3.12 UIScrollView 675.3.13 UIPageControl 675.3.14 UIPickerView 675.3.15 UIDatePicker 675.3.16 UISwitch 675.3.17 UISlider 685.3.18 UIMenuController和UIMenuItem 685.3.19 UIImage 685.3.20 UIImageView 685.3.21 UINavigationBar 685.3.22 UINavigationController 695.3.23 UIToolbar 695.3.24 UITabBar 695.3.25 UIBarButtonItem 695.3.26 UISegmentedControl 705.4 Cocoa中常见的设计模式 705.4.1 模型-视图-控制器模式 705.4.2 目标-动作模式 715.5 小结 71第6章 为iPad配置信息 726.1 关于iOS配置门户 726.2 提供信息的过程:概括说明 736.2.1 设备ID是什么 736.2.2 什么是应用程序ID 746.2.3 什么是开发信息提供概述 756.3 设立开发用的机器 766.3.1 请求开发许可证 766.3.2 提交CSR以求批准 786.3.3 下载并安装许可证 796.4 配置设备 806.5 使用iOS配置门户 816.5.1 添加设备ID 826.5.2 添加应用程序ID 836.5.3 创建开发信息提供概述 846.5.4 下载开发信息提供概述 856.5.5 安装开发信息提供概述 866.6 小结 86第7章 应用程序设计 877.1 定义应用程序 877.1.1 应用程序名称 887.1.2 应用程序概述 887.1.3 功能清单 887.1.4 目标用户 897.1.5 再度审视功能清单 907.1.6 有竞争关系的产品 907.1.7 App Charter示例 907.2 用户界面构思 927.2.1 阅读HIG(iOS人机界面指南) 927.2.2 使你的应用程序“令人心动” 927.2.3 为设备设计 937.2.4 人们使用iOS设备与使用网页或桌面计算机的方式不一样 937.2.5 戴上工业设计师的帽子 947.2.6 比喻 947.2.7 声音效果 947.2.8 定制现有的控件 957.2.9 聘请设计师 967.3 原型图 967.3.1 什么是原型图 967.3.2 要对什么设计原型图 977.3.3 使用的工具 977.4 建立原型 1007.4.1 什么是原型 1007.4.2 怎样创建原型应用程序 1017.5 小结 101第二部分 构建PhotoWheel第8章 创建主从复合应用程序 1038.1 构建原型应用程序 1038.1.1 什么是分割视图控制器 1048.1.2 创建新的项目 1058.1.3 使用模拟器 1058.2 更进一步的观察 1068.2.1 项目结构 1078.2.2 应用程序委派 1078.2.3 启动选项 1118.2.4 其他UIApplicationDelegate方法 1128.3 UISplitViewController详解 1128.3.1 指定分割视图控制器的委派 1158.3.2 细节视图控制器 1168.3.3 主视图控制器 1168.4 小结 1178.5 习题 117第9章 使用表格视图 1189.1 首要的事情 1189.2 深层剖析 1209.2.1 UITableView 1209.2.2 UITableViewCell 1219.2.3 UITableViewDelegate 1219.2.4 UITableViewDataSource 1219.2.5 UITableViewController 1219.3 操作表格视图 1219.3.1 一个简单的模型 1219.3.2 显示数据 1239.3.3 添加数据 1279.3.4 编辑数据 1399.3.5 删除数据 1439.3.6 重排数据 1449.3.7 选取数据 1459.4 小结 1479.5 习题 148第10章 用视图工作 14910.1 定制视图 14910.2 轮状视图 15010.3 旋转木马视图 15610.4 Photo Wheel视图单元 16110.5 小结 16410.6 习题 164第11章 使用触屏手势 16511.1 触摸手势简介 16511.1.1 预定义的触屏手势 16611.1.2 手势种类 16611.1.3 怎样使用手势识别类 16611.2 定制触屏手势 16911.2.1 创建拨动手势识别类 17011.2.2 拨动手势识别类的用法 17211.3 小结 17611.4 习题 176第12章 添加照片 17712.1 两种途径 17712.1.1 Assets Library 17712.1.2 图片捡拾控制器 17812.2 图片捡拾控制器的用法 17912.2.1 使用动作单 18112.2.2 UIImagePickerController的用法 18412.2.3 保存至摄像头胶卷 18712.3 小结 18812.4 习题 188第13章 数据持久化 18913.1 数据模型 18913.1.1 照片 18913.1.2 相册 18913.1.3 前瞻性考虑 18913.2 使用属性清单来构建模型 19013.2.1 什么是属性清单 19013.2.2 建立数据模型 19013.2.3 读取和保存相册 19113.2.4 向相册添加新照片 19513.2.5 显示相册中的照片 19813.3 使用Core Data构建模型 20013.3.1 什么是Core Data 20013.3.2 托管对象和实体描述 20013.3.3 托管对象语境 20113.3.4 持久存储和持久存储协调器 20213.3.5 向PhotoWheelPrototype添加Core Data 20213.3.6 添加Core Data框架 20213.3.7 建立Core Data栈 20313.4 在PhotoWheel中使用Core Data 20613.4.1 Core Data的模型编辑器 20613.4.2 添加实体 20613.4.3 创建NSManagedObject子类 20913.5 向模型对象添加定制代码 21113.5.1 用Core Data读取和保存相册 21513.5.2 使用Core Data向相册添加新照片 21813.5.3 用Core Data显示相册中的照片 22013.6 直接使用SQLite 22113.7 小结 22113.8 习题 221第14章 Xcode中的故事板 22214.1 什么是故事板 22214.1.1 故事板的用法 22314.1.2 场景 22414.1.3 过渡 22414.2 对PhotoWheel创作故事板 22514.2.1 工作区 22514.2.2 添加主故事板 22614.2.3 设置UIMainStoryboardFile 22714.2.4 更新AppDelegate 22814.2.5 添加图片 22814.2.6 应用程序图标 22914.2.7 初始的视图控制器 22914.2.8 另一个场景 23014.2.9 创建过渡 23214.3 小结 23314.4 习题 233第15章 视图控制器详解 23415.1 实现视图控制器 23415.2 过渡 23615.2.1 创建定制过渡 23715.2.2 设置过渡 23715.2.3 实现定制过渡 23915.2.4 编译之前的工作 24115.3 定制弹出转换 24315.4 容器视图控制器 24515.4.1 创建容器视图控制器 24615.4.2 添加子场景 24615.4.3 添加子视图控制器 24815.4.4 修正定制的推式过渡 25115.5 小结 25115.6 习题 252第16章 构造主屏幕 25316.1 重用原型代码 25316.1.1 复制文件 25416.1.2 Core Data模型 25516.1.3 WheelView要做的修改 26016.2 显示相册 27016.2.1 实现相册集视图控制器 27116.2.2 设置托管对象语境 27716.2.3 添加相册 27816.3 管理相册 27916.3.1 选取相册 27916.3.2 对相册起名 28316.3.3 修正工具栏的显示 28816.3.4 删除相册 28916.4 更美观的相册缩略图 29116.5 添加照片 29416.6 显示照片 29916.6.1 使用GridView类 30816.6.2 构建图片栅格视图单元 31216.7 小结 31516.8 习题 315第17章 创建照片浏览器 31617.1 使用滚动视图 31617.2 启动照片浏览器 32417.3 添加Chrome效果 33217.4 放大缩小 33617.5 删除照片 34217.6 小结 34817.7 习题 348第18章 支持设备旋转 34918.1 怎样支持旋转功能 34918.1.1 所支持的设备放置模式 35018.1.2 使用自动尺寸调整功能 35018.2 自定义旋转 35118.2.1 支持旋转相册 35518.2.2 旋转相册场景 35518.2.3 调整WheelView类的代码 35618.2.4 旋转About视图 35818.2.5 旋转照片浏览器 35818.3 修正麻烦点 35818.3.1 修正照片浏览器 35818.3.2 修正主屏幕 36318.4 启动画面 36518.5 小结 36718.6 习题 367第19章 用AirPrint打印 36819.1 打印功能如何工作 36819.1.1 打印中心Print Center 36819.1.2 能打印的前提 36919.1.3 打印API 36919.2 向PhotoWheel添加打印功能 36919.3 小结 37219.4 习题 372第20章 发送电子邮件 37320.1 工作原理 37320.2 SendEmailController类 37420.2.1 引入SendEmailController类 37520.2.2 SendEmailController的用法 37820.3 小结 38320.4 习题 383第21章 Web服务 38421.1 基础知识 38421.2 Flickr 38521.2.1 向PhotoWheel加入Flickr支持 38621.2.2 更新Flickr View Controller Scene 38821.2.3 显示Flickr场景 38921.2.4 包装Flickr应用编程接口 39121.2.5 异步下载照片 39721.2.6 FlickrViewController的实现 40221.3 其他事宜 41021.4 还缺什么 41121.5 小结 41121.6 习题 411第22章 与iCloud同步 41222.1 同步使事情变得简单 41222.2 iCloud的各种概念 41222.2.1 文件协调器和表现器 41322.2.2 UIDocument与UIManagedDocument 41322.2.3 无所不在持久存储 41422.3 为设备提供信息的回顾 41422.3.1 配置应用程序ID 41422.3.2 为iCloud提供信息 41522.3.3 配置iCloud权利 41622.4 对PhotoWheel的iCloud考虑 41822.4.1 同步要做得恰到好处 41822.4.2 使用瞬态Core Data特性 41922.5 更新PhotoWheel以支持iCloud 41922.6 用iCloud来同步照片 42322.6.1 使持久存储协调器无所不在 42322.6.2 从iCloud接收变更 42722.7 小结 43022.8 习题 431第23章 用AirPlay放映幻灯片 43223.1 外部显示选项 43223.2 应用程序对外部显示器的要求 43223.3 外部显示器的应用编程接口 43323.4 向PhotoWheel添加幻灯片放映 43423.4.1 更新故事板 43423.4.2 添加幻灯片放映显示器 43523.5 管理外部显示器 43723.6 推进到下一张照片 44023.7 添加幻灯片放映的用户界面控件 44223.8 更新照片浏览器 44423.9 测试和调试时的注意事项 44523.10 添加对AirPlay设备的支持 44623.11 AirPlay的运用 44723.12 小结 44823.13 习题 448第24章 Core Image的视觉特效 44924.1 Core Image的概念 44924.2 CIFilter 45024.2.1 滤镜类型 45124.2.2 CIFilter的使用 45124.3 图片分析 45224.3.1 自动增强 45324.3.2 脸部识别 45424.4 为PhotoWheel添加Core Image特效 45424.4.1 新建委派方法 45524.4.2 滤镜管理的实例变量 45624.4.3 用户界面的添加 45624.4.4 创建CIFilter特效 46124.4.5 滤镜的运用 46524.4.6 图片自动增强功能的实现 46624.4.7 实现脸部缩放 46624.4.8 其他必要的方法 46824.5 小结 46924.6 习题 469第三部分 最后的润色第25章 调试 47125.1 了解问题所在 47125.1.1 问题出在哪里 47125.1.2 重现缺陷 47125.2 调试的概念 47225.3 在Xcode中调试 47225.3.1 设置和管理断点 47325.3.2 定制断点 47325.3.3 到达断点 47425.3.4 检查变量 47525.4 调试示例:外部显示器代码 47725.5 什么时候真的需要NSLog 48025.6 使用Instruments剖析代码 48125.7 小结 485第26章 发布应用程序 48626.1 发布方法 48626.2 构建非正式的发布 48626.2.1 设置非正式发布的配置信息 48726.2.2 准备构建非正式发布的版本 48726.3 构建App Store的发布版本 48826.3.1 设置App Store条款 48926.3.2 准备为App Store发布的版本 48926.3.3 接下来怎么做 49026.4 App Store流程 49026.5 为App Store提供应用程序信息 49126.6 App Store媒体材料 49326.7 iTunes Connect的运用 49326.7.1 用户角色 49326.7.2 管理应用程序 49426.8 发送应用程序 49426.9 更进一步 49526.10 小结 495第27章 结语 496附录A 安装开发工具 498
章节摘录
第1章你的第一个应用程序在学习时,实际操作出来比别的任何办法都管用。所以我们就入手写一个简单的iPad应用程序。要写的首个应用程序就是“Hello World”。没错,这个“Hello World”应用程序超级简单。不过别担心,本书后面会构建复杂得多的应用程序。现在,重要的是你能对相关代码和工具有所了解。本章主要是让你对用来构建iPad应用程序的工具有个大致的认识。如果你已经熟悉了Xcode,则可以直接跳至第4章或第6章;倘若你还对Xcode比较陌生,请继续阅读。本章接下来的部分将引导你了解创建iPad应用程序所需的步骤。本章不会涉及详细的Xcode代码,随后的第2章和第3章会讲到Xcode代码。注意:在开始前,必须在Mac计算机上安装了Xcode和iOS SDK。如果尚未安装这些软件,则请先翻到附录A查看如何在Mac计算机上创建iPad编程环境。当然了,你还需要有一台Mac计算机。
媒体关注与评论
也许你已经感觉到,我对这本书非常看好。有许多优秀的iOS开发方面的书籍。我之所以建议阅读它们(至少是其中的一些好书),是因为iOS是一个广泛的话题,即使Kirby和Tom也不能在一本书中涵盖你要知道的所有内容。但是,如果你专门学习和从事iPad应用开发,本书将是很好的选择,它会成为对你们中的一些人有影响的一本书。 ——Mark Dalrymple 国际Mac和iPhone开发者社区CocoaHeads联合创始人
编辑推荐
《iPad应用开发实践指南》由一个经典案例驱动。Amazon五星畅销书,国际Mac和iOS开发者社区CocoaHeads创始人等专家联袂推荐。
名人推荐
也许你已经感觉到,我对这本书非常看好。有许多优秀的iOS开发方面的书籍。我之所以建议阅读它们(至少是其中的一些好书),是因为iOS是一个广泛的话题,即使Kirby和Tom也不能在一本书中涵盖你要知道的所有内容。但是,如果你专门学习和从事iPad应用开发,本书将是很好的选择,它会成为对你们中的一些人有影响的一本书。——Mark Dalrymple 国际Mac和iPhone开发者社区CocoaHeads联合创始人
图书封面
图书标签Tags
无
评论、评分、阅读与下载