编辑推荐
技术新颖,基于iOS 6技术撰写,系统讲解开发iPhone和iPad应用所需掌握的基础技术和高级技巧
易于阅读,从认知学角度进行内容规划,一个案例贯穿全书,能从很大程度上降低学习的时间成本,并提高学习效率
内容简介
《iOS 6应用开发实战》是目前iOS 6领域全面系统和易于阅读的著作之一,有两大特点:一,技术新颖,基于iOS 6技术撰写,系统讲解开发iPhone和iPad应用所需掌握的基础技术和高级技巧,以及其流程和方法;第二,易于阅读,从认知学角度进行内容规划,一个案例贯穿全书,不仅能从很大程度上降低学习的时间成本,降低阅读门槛,而且能至始至终让读者在动手实践中保持学习的热情,坚持把这本书读完。
《iOS 6应用开发实战》共22章,可分为两个部分:基础部分(1~13章)分别介绍了开发iOS应用前应该做的准备工作、Xcode 4的基本使用、Objective-C的基本语法、Interface Builder的基本操作、视图控制器、通过设备获取用户位置、列表、视图及视图控制器、各种控件、多媒体、偏好设置等知识,这些知识通过一个名称为MyDiary的应用完美地串联在一起,读者从一开始就能动手实践并从实践中掌握这些理论知识;高级部分(14~22章)则非常详细地讲解了iOS应用的架构、iOS应用的测试与调试、可滚动视图的创建、自动宣传和自动调整大小、表格视图的编辑、手势识别、警告、应用程序本地化、日历和事件等高级话题,是iOS开发工程师进阶修炼必须掌握的核心内容。
作者简介
刘铭,资深iOS开发工程师,从事软件开发工作近10年,精通Objective-C、iPhone/ipad应用开发技术,以及苹果开发技术,有丰富的实战经验。早年从事PHP和Flash/Flex应用开发,有超过7年的Web应用开发经验。活跃于CocoaChina和CSDN等专业社区,发表了大量技术文章,有一定的影响力。写作经验丰富,曾出版过iOS应用开发方面的专著,颇受读者欢迎。
精彩书评
如今的图书市场上,关于iOS开发的书很多,但是针对的iOS 6的图书还极少,本书算是一本;能让读者坚持把一整本书读完并觉得简单易读的就更少了,本书也算是一本。针对的技术、易于阅读是本书的两大特色,对于想系统学习iOS 6应用开发的读者而言,本书确实不可多得,强烈推荐!
—— 51CTO 中国领先的IT技术网站
目录
前 言
第1章 开发前的准备
1.1 iOS的历史
1.2 iOS 5 和iOS 6的新特性
1.2.1 iCloud云服务
1.2.2 LLVM 3.0编译器
1.2.3 自动引用计数器
1.2.4 故事板
1.2.5 整合Twitter框架
1.2.6 iOS 5 的其他特性
1.2.7 iOS 6的新特性
1.3 iOS设备的相关介绍
1.3.1 各种iOS设备
1.3.2 iOS设备的显示分辨率
1.3.3 iOS应用程序与硬件的关系
1.3.4 iPhone的网络连接
1.3.5 iPhone的输入与反馈机制
1.4 成为一名iOS开发者
1.4.1 注册成为Apple Developer
1.4.2 加入iOS开发者计划
1.5 下载并安装iOS开发工具
1.6 本书实战项目简介
第2章 认识Xcode 4
2.1 Xcode的欢迎界面
2.2 使用模板创建MyDiary项目
2.3 Xcode的工作界面
2.3.1 Xcode工具栏
2.3.2 导航区域
2.3.3 编辑区域
2.3.4 通用区域
2.4 使用代码编辑器
2.5 iOS模拟器
2.5.1 iOS模拟器的特性
2.5.2 模拟器中iOS系统的基本设置
2.5.3 在模拟器中安装和卸载应用程序
2.5.4 iOS模拟器的限制
2.6 管理MyDiary项目的配置选项
2.6.1 设置设备的支持方向
2.6.2 设置应用程序的图标
2.6.3 设置显示状态栏
2.6.4 设置应用程序的启动画面
第3章 有关Objective-C的知识储备
3.1 内存管理基础
3.1.1 C语言中的内存管理
3.1.2 面向对象的内存管理
3.2 引用计数器
3.2.1 使用引用计数器
3.2.2 使用autorelease
3.3 类的setter与getter方法
3.4 dealloc方法
3.5 使用properties简化访问器
3.6 手动内存管理的规则
3.7 自动引用计数器
3.7.1 强引用
3.7.2 弱引用
第4章 Xcode中的Interface Builder
4.1 了解Interface Builder
4.1.1 Interface Builder中的关联
4.1.2 故事板
4.2 创建用户界面
4.2.1 对象库
4.2.2 向视图添加界面元素
4.2.3 Interface Builder的布局工具
4.3 自定义界面的外观
4.3.1 属性检查窗口
4.3.2 设置辅助功能
4.3.3 在模拟器中使用辅助功能
4.4 与代码进行关联
4.4.1 要完成的效果
4.4.2 outlet变量和action方法简介
4.4.3 为ViewController类添加成员变量
4.4.4 创建outlet关联
4.4.5 创建action关联
4.4.6 使用快速检查器查看关联
第5章 视图控制器
5.1 MVC设计模式简介
5.2 MyDiary项目中的"关于作者"控制器
5.2.1 为"关于作者"控制器准备照片素材
5.2.2 设置Segmented Control
5.2.3 为控制器准备相关数据
5.2.4 UIImage的类方法介绍
5.3 视图控制器的重构
5.4 标签栏控制器
5.4.1 标签栏和其中的标签
5.4.2 在故事板中添加标签栏控制器
5.4.3 设置标签栏配置条目
5.5 与视图控制器相关的方法介绍
第6章 通过设备获取用户位置
6.1 项目、目标和框架
6.2 Core Location简介
6.3 创建LocationViewController控制器
6.4 Core Location框架
6.4.1 从CLLocationManager获取信息
6.4.2 在程序中确认定位服务是否可用
6.4.3 CLLocation类
6.5 委托
6.5.1 协议
6.5.2 协议方法
6.5.3 委托、控制器和内存管理
6.6 使用MapKit
6.6.1 高德地图iOS API
6.6.2 使用高德iOS API显示地图
6.6.3 在真机上测试高德地图
第7章 创建日记列表
7.1 表格视图的组成部分
7.2 准备要显示的数据
7.2.1 向Diary类的成员变量赋值
7.2.2 对象的分配和初始化
7.2.3 在故事板中添加表格视图
7.2.4 Arrays类
7.3 UITableViewController类
7.3.1 剖析DiaryListViewController
7.3.2 UITableView的数据源
7.4 UITableViewCell类
7.4.1 创建与检索单元格
7.4.2 UITableViewCell的复用
7.5 增加点击交互功能
第8章 通过导航控制器显示多个视图
8.1 使用导航控制器进行视图间的导航
8.1.1 导航控制器介绍
8.1.2 创建导航控制器
8.1.3 导航栏
8.2 增加日记的详细页面
8.3 使用UINavigationController进行导航
8.3.1 推出视图控制器
8.3.2 在视图控制器间传递数据
第9章 为日记添加文本记录功能
9.1 创建新的视图控制器
9.1.1 创建CreateDiaryViewController类
9.1.2 创建Create Diary View Controller场景
9.1.3 建立IBOutlet和IBAction关联
9.1.4 在应用程序中呈现和销毁CreateDiaryViewController
9.2 几种常用的文本控件
9.2.1 UILabel控件
9.2.2 UITextField控件
9.2.3 UITextView对象
9.3 虚拟键盘的使用
9.4 NSDate及其相关类
9.5 日记记录传回DiaryListViewController
第10章 为日记本添加照相功能
10.1 为项目添加新的视图控制器
10.1.1 创建CameraViewController类
10.1.2 CameraViewController的呈现与销毁
10.2 使用UIImagePickerController进行拍照
10.3 在应用程序中存储图片
10.3.1 NSDictionary类
10.3.2 创建和使用键
10.3.3 在Detail Diary View Controller场景中显示日记照片
第11章 保存与载入日记
11.1 应用程序沙箱
11.2 创建单例模式DiaryStore类
11.3 获取指定目录的路径
11.4 归档
11.4.1 对象的归档
11.4.2 对象的解档
11.5 应用程序的状态与过渡
11.6 使用NSData将数据写入文件系统
11.7 在Mac系统中查看应用程序的资源
第12章 在日记中录制和播放声音
12.1 创建录音机的界面
12.2 声音的录制
12.2.1 保存录制的音频文件
12.2.2 完善RecordViewController控制器
12.2.3 按照用户的要求进行录音
12.3 声音的播放
12.4 中断的处理
12.4.1 在播放声音时处理中断
12.4.2 在录制声音时处理中断
12.5 在Detail Diary View Controller场景中播放声音
第13章 应用程序的偏好设置
13.1 了解设置绑定资源包
13.2 为MyDiary添加设置绑定资源包
13.2.1 向项目中添加设置绑定资源包
13.2.2 设置属性列表
13.2.3 添加文本框设置
13.2.4 添加密码文本框设置
13.2.5 添加多值字段
13.2.6 添加开关设置
13.2.7 添加滑块设置
13.2.8 设置滑块图标
13.2.9 增加设置子视图
13.3 在应用程序中读取偏好设置内容
第14章 iOS应用程序架构介绍
14.1 Objective-C和Cocoa Touch
14.1.1 Cocoa Touch层
14.1.2 Foundation框架
14.1.3 iOS中的各种框架
14.2 iPhone应用程序的架构
14.2.1 main.m文件
14.2.2 自动释放池
14.2.3 UIApplicationMain()函数
14.2.4 应用程序委托
14.2.5 视图控制器
14.3 iOS应用程序的组成
14.3.1 应用程序文件夹的结构
14.3.2 可执行文件
14.3.3 Info.plist文件
14.3.4 程序图标和启动画面
14.3.5 XIB文件
14.3.6 IPA文档
14.4 平台的限制
第15章 应用程序的调试
15.1 iOS帮助文档
15.1.1 快速安装帮助文档
15.1.2 帮助文档的窗口
15.1.3 类的文档页面介绍
15.2 代码调试器
15.2.1 断点的设置
15.2.2 调试代码
15.2.3 调试控制台
15.2.4 检视对象
第16章 创建可滚动的视图
16.1 UIScrollView类
16.2 Scroll View和Text Field
16.2.1 完善Scroll View Controller中的界面元素
16.2.2 编写与滚动相关的代码
16.3 消息通知中心
16.4 完善CreateDiaryViewController控制器
16.4.1 使用Scroll View
16.4.2 在Text View中让键盘消失
第17章 自动旋转和自动调整大小
17.1 自动旋转的机制
17.1.1 点、像素和视网膜显示
17.1.2 旋转的方式
17.2 通过autosize属性处理旋转
17.2.1 创建一个新的视图控制器
17.2.2 配置所支持的方向
17.2.3 在控制器中设定支持方向
17.2.4 使用autosize属性设计界面
17.2.5 设置按钮的autosize属性
17.3 旋转时重构视图
17.3.1 创建和关联Outlet
17.3.2 旋转时移动按钮
17.4 旋转时切换视图
17.4.1 设计两个视图
17.4.2 执行旋转时的切换
17.4.3 改变Outlet Collections
第18章 编辑表格视图
18.1 表格视图的编辑模式
18.2 使用不同类型的附件指示器
18.3 创建自定义的单元格附件指示器
18.4 显示具有层级的表格视图
18.5 为表格创建Header和Footer
18.5.1 创建头视图
18.5.2 载入XIB文件中的视图
18.5.3 设置头视图
18.5.4 设置脚视图
18.6 删除行
18.7 移动表格视图中的行
18.8 在表格视图中使用刷新控件
第19章 手势识别
19.1 多点触摸概述
19.1.1 基本的操作手势
19.1.2 手势识别的分类和状态
19.1.3 触摸事件所响应的方法
19.2 拖曳手势的检测
19.2.1 简单的手势识别
19.2.2 UIPanGestureRecognizer类
19.3 轻划手势的检测
19.4 旋转手势的检测
19.5 长按手势的检测
19.6 掐捏手势的检测
第20章 警告用户
20.1 通过警告对话框与用户进行交互
20.1.1 构建简单的Alert警告对话框
20.1.2 设置Alert的delegate
20.1.3 显示警告对话框
20.1.4 警告的类型
20.2 在警告对话框中呈现菜单
第21章 应用程序的本地化
21.1 使用NSLocale将项目国际化
21.2 本地化资源
21.2.1 本地化资源文件
21.2.2 使用NSLocalizedString和String Tables
第22章 日历和事件
22.1 Event Kit框架
22.1.1 通过CalDAV同步Google日历
22.1.2 获取日历列表
22.1.3 向日历中添加事件
22.1.4 访问日历的事件列表
22.1.5 从日历中移除事件
22.1.6 添加重复发生的事件
22.2 Event Kit UI框架
前言/序言
为什么要写这本书
我在开始学习iOS开发之前一直从事着PHP和Flex的应用程序开发,因为四年前为苹果移动设备开发应用程序至少在国内毕竟还不是很热门。当时的互联网开发大多还是围绕着Web 2.0理念的开发以及各种社交网站上的Flash交互游戏开发。记得一次在回家的路上,我静静地思考这样一个问题:从现在开始,我是否要放弃多年驾轻就熟的语言,转而去一个全新的开发领域呢?挑战肯定是有的,但是挑战与机遇共存。就目前情况而言,iOS程序员的数量远远低于传统C、C++的人数。不仅如此,在笔者参加过的多次Adobe开发者大会上,与会人员的数量和那些人的热情是大家可以想象的(尽管笔者还没有真正看到过一款使用Flash或Flex开发的商业应用)。众所周知,虽然目前iOS设备在国内大量普及(不管是个人,还是机关、单位),但是真正符合国人需求的应用并不是很多,尤其是符合某一领域的商用、垂直化应用还远远不够,这就为iOS开发团队带来了巨大的机遇。因此在经过一段时间的学习和开发实践以后,便有了写这本书的想法,主要想通过本书让更多希望从事iOS开发的程序员尽快入门,同时为将来的创业打下良好的基础。
2012年9月19日,苹果第六代手机操作系统iOS 6.0正式发布,iOS 6 SDK(Software Development Kit)也随之放出,该SDK为我们进行应用程序开发提供了更多的功能和特性。其中包括全新的苹果地图,Siri发送短信、预约会议,与朋友分享照片流,Passbook优惠券处理和iPhone全新呼叫等功能。如果说从iOS 1.0到iOS 4.0苹果更多的是做系统深度开发,那么从iOS 5.0到iOS 6.0的时代就是广度的开发,与此同时操作系统的容量也在不断的变大。
截至目前,苹果对于iOS操作系统的更新和升级还在继续,这也就代表着我们对Objective-C和iOS开发的学习始终不会停止。新的iOS硬件设备可能会带动更多更好的应用程序出现,而这些应用程序的背后将是一个巨大的财富。希望大家一切从用户的角度出发,一步一个脚印去做,最终实现自己的梦想。
本书特色
本书以构建一个MyDiary项目的实践案例贯穿全书,将所有知识点融入到实践当中,使大家真正理解和掌握如何通过Xcode SDK和Objective-C语言来开发iOS应用程序。
在基础篇的学习中,可以了解到什么是iOS,什么是Xcode。作为一名iOS开发者需要什么软、硬件条件。然后就是如何通过Xcode和Objective-C来搭建一个能够记录文本、图片、声音,查看设备当前位置的MyDiary项目。还结合该项目讲授了如何使用表格来组织信息。
在高级篇中,大部分的内容都是针对之前所学内容的深入和扩展。包括如何组织表格,如何处理设备的旋转,多语言和地区的处理以及如何操作日历等。
读者对象
本书适合具备以下几方面知识和硬件条件的群体阅读。
面向对象的开发经验,熟悉类、实例、方法、封装、继承、重写等概念。
有Objective-C或C、C++的开发经验。
有MVC设计模式开发经验。
有简单的图像处理的经验。
有一台Inter架构的Mac电脑(MacBook Pro、MacBook Air、Mac Pro或Mac Mini)。
如果加入了iOS开发者计划,还可以准备一台iOS移动设备。
如何阅读本书
本书逻辑上分为两个部分:
第1章到第13章为基础部分,通过构建一个MyDiary iPhone应用程序项目,向大家介绍了如何使用Xcode SDK开发工具及通过Objective-C语言编写一个可以记录文本、保存图片和声音的App。
第14章到第22章为高级部分,着重讲解iOS开发中可能会用到的高级功能,包括视图的旋转和滚动处理、表格的高级操作、多语言环境等。
本书自始至终都通过MyDiary iPhone应
iOS 6应用开发实战 下载 mobi epub pdf txt 电子书 格式