图书介绍
IOS 8开发指南 第2版pdf电子书版本下载
- 管蕾编著 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115393319
- 出版时间:2015
- 标注页数:841页
- 文件大小:146MB
- 文件页数:861页
- 主题词:移动终端-应用程序-程序设计
PDF下载
下载说明
IOS 8开发指南 第2版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一篇 必备技术篇 2
第1章 iOS开发入门 2
1.1 iOS系统介绍 2
1.1.1 iOS发展史 2
1.1.2 全新的版本——iOS 8 2
1.2 iOS开发之旅 4
1.3 工欲善其事,必先利其器——搭建开发环境 5
1.3.1 Xcode 6介绍 5
1.3.2 iOS SDK介绍 6
1.3.3 下载并安装Xcode 6 7
1.4 使用Xcode开发环境 9
1.4.1 使用Xcode创建程序的基本步骤 9
1.4.2 Xcode的基本功能 10
1.5 启动iOS 8模拟器 16
1.6 iOS的常用开发框架 18
1.6.1 Foundation框架简介 18
1.6.2 Cocoa框架简介 19
1.7 常用的第三方工具 20
1.7.1 模拟器 iPhone Simulator 20
1.7.2 Interface Builder 21
第2章 Objective-C语言基础 22
2.1 最耀眼的新星 22
2.1.1 看一份统计数据 22
2.1.2 究竟何为Objective-C 22
2.1.3 为什么选择Objective-C 23
2.2 Objective-C的优点及缺点 23
2.3 一个简单的例子 24
2.3.1 使用Xcode编辑代码 24
2.3.2 基本元素介绍 26
2.4 数据类型和常量 30
2.4.1 int类型 30
2.4.2 float类型 31
2.4.3 double类型 32
2.4.4 char类型 32
2.4.5 字符常量 33
2.4.6 id类型 34
2.4.7 限定词 35
2.4.8 总结基本数据类型 37
2.5 字符串 37
2.6 算数表达式 38
2.6.1 运算符的优先级 38
2.6.2 整数运算和一元负号运算符 39
2.6.3 模运算符 40
2.6.4 整型值和浮点值的相互转换 41
2.6.5 类型转换运算符 42
2.7 表达式 42
2.7.1 常量表达式 42
2.7.2 条件运算符 43
2.7.3 sizeof运算符 43
2.7.4 关系运算符 44
2.7.5 强制类型转换运算符 45
2.8 位运算符 45
2.8.1 按位与运算符 45
2.8.2 按位或运算符 46
2.8.3 按位异或运算符 46
2.8.4 一次求反运算符 47
2.8.5 向左移位运算符 48
2.8.6 向右移位运算符 48
2.8.7 总结Objective-C的运算符 48
第3章 Swift语言基础 50
3.1 Swift概述 50
3.1.1 Swift的创造者 50
3.1.2 Swift的优势 50
3.2 数据类型和常量 52
3.2.1 int类型 52
3.2.2 float类型 52
3.2.3 double类型 53
3.2.4 char类型 53
3.2.5 字符常量 53
3.3 变量和常量 53
3.3.1 常量详解 53
3.3.2 变量详解 54
3.4 字符串和字符 55
3.4.1 字符串字面量 55
3.4.2 初始化空字符串 55
3.4.3 字符串可变性 56
3.4.4 值类型字符串 56
3.4.5 计算字符数量 56
3.4.6 连接字符串和字符 57
3.4.7 字符串插值 57
3.4.8 比较字符串 58
3.4.9 Unicode 58
3.5 流程控制 60
3.5.1 for循环(1) 61
3.5.2 for循环(2) 62
3.5.3 while循环 62
3.6 条件语句 63
3.6.1 if语句 63
3.6.2 switch语句 64
3.7 函数 65
3.7.1 函数的声明与调用 65
3.7.2 函数的参数和返回值 66
3.7.3 函数参数名 68
3.8 实战演练——使用Xcode创建Swift程序 70
第4章 Cocoa Touch框架 72
4.1 Cocoa Touch基础 72
4.1.1 Cocoa Touch概述 72
4.1.2 Cocoa Touch中的框架 73
4.1.3 Cocoa Touch的优势 73
4.2 iPhone的技术层 73
4.2.1 Cocoa Touch层 73
4.2.2 多媒体层 77
4.2.3 核心服务层 78
4.2.4 核心OS层 79
4.3 Cocoa Touch中的框架 79
4.3.1 Core Animation(图形处理)框架 79
4.3.2 Core Audio(音频处理)框架 80
4.3.3 Core Data(数据处理)框架 80
4.4 iOS程序的生命周期 81
4.4.1 从一段代码看iOS程序的生命周期 81
4.4.2 iOS程序生命周期的原理 82
4.4.3 UIViewController的生命周期 84
4.5 Cocoa中的类 86
4.5.1 核心类 86
4.5.2 数据类型类 88
4.5.3 UI界面类 91
4.6 国际化 94
4.7 使用Xcode学习iOS框架 95
4.7.1 使用Xcode文档 95
4.7.2 快速帮助 96
第5章 Xcode Interface Builder界面开发 98
5.1 Interface Builder基础 98
5.1.1 Interface Builder的作用 98
5.1.2 Interface Builder的新特色 98
5.2 Interface Builder采用的方法 100
5.3 Interface Builder的故事板 100
5.3.1 推出的背景 100
5.3.2 故事板的文档大纲 101
5.3.3 文档大纲的区域对象 102
5.4 创建一个界面 103
5.4.1 对象库 103
5.4.2 将对象加入视图中 104
5.4.3 使用IB布局工具 105
5.5 定制界面外观 107
5.5.1 使用属性检查器 107
5.5.2 设置辅助功能属性 108
5.5.3 测试界面 108
5.6 实战演练——将Xcode界面连接到代码 109
5.6.1 打开项目 109
5.6.2 输出口和操作 110
5.6.3 创建到输出口的连接 110
5.6.4 创建到操作的连接 112
第6章 使用Xcode编写MVC程序 114
6.1 MVC模式基础 114
6.1.1 诞生背景 114
6.1.2 分析结构 114
6.1.3 MVC的特点 115
6.1.4 使用MVC实现程序设计的结构化 115
6.2 Xcode中的MVC 116
6.2.1 原理 116
6.2.2 模板就是给予MVC的 116
6.3 在Xcode中实现MVC 117
6.3.1 视图 117
6.3.2 视图控制器 117
6.4 数据模型 119
6.5 实战演练——使用模板Single View Application 120
6.5.1 创建项目 120
6.5.2 规划变量和连接 123
6.5.3 设计界面 124
6.5.4 创建并连接输出口和操作 126
6.5.5 实现应用程序逻辑 128
6.5.6 生成应用程序 129
第二篇 核心技术篇 131
第7章 文本框和文本视图 131
7.1 文本框(UITextField) 131
7.1.1 文本框基础 131
7.1.2 实战演练——在屏幕中显示一个文本输入框 131
7.1.3 实战演练——设置文本输入框的边框线样式 132
7.1.4 实战演练——设置文本输入框的字体和颜色 133
7.1.5 实战演练——在文本输入框中设置一个清空按钮 133
7.1.6 实战演练——为文本输入框设置背景图片 134
7.1.7 实战演练——实现UITextField控件(基于Swift实现) 135
7.2 文本视图(UITextView) 140
7.2.1 文本视图基础 140
7.2.2 实战演练——在屏幕中换行显示文本 141
7.2.3 实战演练——在屏幕中显示可编辑的文本 142
7.2.4 实战演练——设置屏幕中文本的对齐方式 143
7.2.5 实战演练——使用UITextView控件(基于Swift实现) 145
第8章 按钮和标签 147
8.1 标签(UILabel) 147
8.1.1 标签(UILabel)的属性 147
8.1.2 实战演练——使用标签(UILabel)显示一段文本 147
8.1.3 实战演练——在屏幕中显示指定字体和指定大小的文本 150
8.1.4 实战演练——设置屏幕中文本的对齐方式 150
8.2 按钮(UIButton) 151
8.2.1 按钮基础 151
8.2.2 实战演练——按下按钮后触发一个事件 152
8.2.3 实战演练——在屏幕中显示不同样式的按钮 153
8.3 实战演练——联合使用文本框、文本视图和按钮 154
8.3.1 创建项目 154
8.3.2 设计界面 156
8.3.3 创建并连接输出口和操作 162
8.3.4 实现按钮模板 163
8.3.5 隐藏键盘 164
8.3.6 实现应用程序逻辑 166
8.3.7 总结执行 167
8.4 实战演练——显示一个指定样式的文本(基于Swift实现) 169
第9章 滑块、步进和图像 171
9.1 滑块控件(UISlider) 171
9.1.1 使用Slider控件的基本方法 171
9.1.2 实战演练——滑动滑块时显示对应的值 172
9.1.3 实战演练——滑动滑块控制文字的大小 173
9.1.4 实战演练——实现各种各样的滑块 174
9.1.5 实战演练——实现UISlider控件效果(基于Swift实现) 180
9.2 步进控件(UIStepper) 182
9.3 图像视图控件(UIImageView) 183
9.3.1 UIImageView的常用操作 183
9.3.2 实战演练——在屏幕中显示图像 185
9.3.3 实战演练——在屏幕中绘制一幅图像 186
9.3.4 实战演练——在屏幕中绘图时设置透明度 187
9.3.5 实战演练——使用UIImageView控件(基于Swift实现) 188
第10章 开关控件和分段控件 191
10.1 开关控件(UISwitch) 191
10.1.1 开关控件基础 191
10.1.2 实战演练——改变UISwitch的文本和颜色 191
10.1.3 实战演练——显示具有开关状态的开关 193
10.1.4 实战演练——联合使用UISlider与UISwitch控件 195
10.1.5 实战演练——控制是否显示密码明文(基于Swift实现) 196
10.2 分段控件 198
10.2.1 分段控件的属性和方法 199
10.2.2 实战演练——使用UISegmentedControl控件 200
10.2.3 实战演练——选择一个分段卡后可以改变屏幕的背景颜色 202
10.2.4 实战演练——设置分段卡的显示样式 203
10.2.5 实战演练——设置不显示分段卡的选择状态 204
10.2.6 实战演练——改变分段卡的显示颜色 204
10.2.7 实战演练——选择某个选项时在此分段卡中显示一幅图片 205
10.2.8 实战演练——使用UISegmentedControl控件(基于Swift实现) 206
第11章 Web视图控件、可滚动视图控件和翻页控件 208
11.1 Web视图(UIWebView) 208
11.1.1 Web视图基础 208
11.1.2 实战演练——在屏幕中显示指定的网页 209
11.1.3 实战演练——控制屏幕中的网页 210
11.1.4 实战演练——在网页中加载显示PDF、Word和JPEG图片 211
11.1.5 实战演练——在网页中加载HTML代码 213
11.1.6 实战演练——在网页中实现触摸处理 214
11.1.7 实战演练——使用UIWebView控件(基于Swift实现) 216
11.2 可滚动的视图(UIScrollView) 220
11.2.1 UIScrollView的基本用法 220
11.2.2 实战演练——使用可滚动视图控件 224
11.2.3 实战演练——使用UIScrollView控件(基于Swift实现) 227
11.3 实战演练——联合使用开关、分段控件和Web视图控件 228
11.3.1 创建项目 228
11.3.2 设计界面 229
11.3.3 创建并连接输出口和操作 232
11.3.4 实现应用程序逻辑 233
11.3.5 生成应用程序 236
11.4 翻页控件(UIPageControl) 236
11.4.1 PageControll控件基础 236
11.4.2 实战演练——联合使用UIPageControl控件和UIScrollView控件(基于Swift实现) 237
第12章 提醒和操作表 240
12.1 提醒视图(UIAlertView) 240
12.1.1 UIAlertView基础 240
12.1.2 不同的提醒效果 243
12.1.3 实战演练——实现一个自定义提醒对话框 244
12.1.4 实战演练——使用UIAlertView控件(基于Swift实现) 246
12.2 操作表(UIActionSheet) 249
12.2.1 操作表的基本用法 250
12.2.2 响应操作表 251
12.2.3 使用UIActionSheet的流程 252
12.2.4 实战演练——联合使用UIAlertController控件和UIActionsheet控件(基于Swift实现) 254
第13章 工具栏、日期选择器 256
13.1 工具栏(UIToolbar) 256
13.1.1 工具栏基础 256
13.1.2 修改UIToolBar的背景颜色 257
13.1.3 实战演练——联合使用UIToolBar控件和UIView控件 258
13.1.4 实战演练——实现一个播放、暂停按钮 259
13.2 选择器视图(UIPickerView) 261
13.2.1 选择器视图基础 261
13.2.2 实战演练——实现两个UIPickerView控件间的数据依赖 264
13.2.3 实战演练——自定义一个选择器 266
13.2.4 实战演练——实现一个数据选择器(基于Swift实现) 274
13.3 日期选择(UIDatePicker) 279
13.3.1 UIDatePicker基础 279
13.3.2 实战演练——使用UIDatePicker 281
13.3.3 实战演练——实现一个日期选择器 283
13.3.4 实战演练——使用UIDatePicker控件(基于Swift实现) 289
第14章 表视图(UITable) 293
14.1 表视图基础 293
14.1.1 表视图的外观 293
14.1.2 表单元格 293
14.1.3 添加表视图 293
14.1.4 UITableView详解 297
14.2 实战演练 299
14.2.1 实战演练——拆分表视图 299
14.2.2 实战演练——列表显示18条数据 301
14.2.3 实战演练——分段显示列表中的数据 302
14.2.4 实战演练——删除单元格 304
14.2.5 实战演练——自定义UITableViewCell 305
14.3 实战演练——在表视图中使用其他控件(基于Swift实现) 309
14.4 实战演练——在表视图中显示远程信息(基于Swift实现) 311
第15章 活动指示器、进度条和检索条 314
15.1 活动指示器(UIActivityIndicatorView) 314
15.1.1 活动指示器基础 314
15.1.2 实战演练——实现一个播放器的活动指示器 314
15.1.3 实战演练——使用UIActivityIndicatorView控件(基于Swift实现) 316
15.2 进度条(UIProgressView) 318
15.2.1 进度条基础 318
15.2.2 实战演练——实现一个蓝色进度条效果 318
15.2.3 实战演练——在进度条中显示进度百分比 319
15.2.4 实战演练——实现自定义进度条效果(基于Swift实现) 321
15.3 检索条(UISearchBar) 325
15.3.1 检索条基础 325
15.3.2 实战演练——在屏幕中实现一个检索框效果 326
15.3.3 实战演练——实现一个实时显示检索框效果 327
15.3.4 实战演练——设置检索框的背景颜色 327
15.3.5 实战演练——在检索框中添加一个书签按钮 328
15.3.6 实战演练——在检索框中添加一个范围条 330
15.3.7 实战演练——使用UISearchBar控件(基于Swift实现) 331
第16章 UIView详解 333
16.1 UIView基础 333
16.1.1 UIView的结构 333
16.1.2 视图架构 335
16.1.3 视图层次和子视图管理 336
16.1.4 视图绘制周期 336
16.2 实战演练——设置UIView的位置和尺寸 336
16.3 实战演练——隐藏指定的UIView区域 337
16.4 实战演练——改变背景颜色 338
16.5 实战演练——实现背景透明 340
16.6 实战演练——定位屏幕中的图片 341
16.7 实战演练——旋转和缩放视图 344
第17章 视图控制器 347
17.1 导航控制器(UIViewController)简介 347
17.1.1 UIViewController基础 347
17.1.2 实战演练——实现不同界面之间的跳转处理 348
17.2 使用UINavigationController 349
17.2.1 导航栏、导航项和栏按钮项 350
17.2.2 UINavigationController详解 350
17.2.3 在故事板中使用导航控制器 353
17.2.4 使用UINavigationController的流程 354
17.2.5 实战演练——实现不同视图的切换 355
17.2.6 实战演练——通过列表实现不同界面之间的跳转 357
17.2.7 实战演练——使用导航控制器展现3个场景 359
17.3 选项卡栏控制器 363
17.3.1 选项卡栏和选项卡栏项 364
17.3.2 在选项卡栏控制器管理的场景之间共享数据 366
17.3.3 UITabBarController使用详解 366
17.3.4 实战演练——实现不同场景的切换 368
17.3.5 实战演练——使用选项卡栏控制器构建3个场景 371
17.4 实战演练——使用UIViewController控件(基于Swift实现) 375
第三篇 技术进阶篇 380
第18章 实现多场景和弹出框 380
18.1 多场景故事板 380
18.1.1 多场景故事板基础 380
18.1.2 创建多场景项目 381
18.1.3 实战演练——使用第二个视图来编辑第一个视图中的信息 385
18.1.4 实战演练——实现多个视图之间的切换 389
18.2 实战演练——多场景视图数据传输(基于Swift实现) 393
第19章 iPad弹出框和分割视图控制器 398
19.1 iPad弹出框 398
19.1.1 创建弹出框 398
19.1.2 创建弹出切换 398
19.1.3 手工显示弹出框 400
19.1.4 响应用户关闭弹出框 400
19.1.5 以编程方式创建并显示弹出框 401
19.1.6 实战演练——使用弹出框更新内容 403
19.2 探索分割视图控制器 405
19.2.1 分割视图控制器基础 406
19.2.2 表视图实战演练 408
第20章 界面旋转、大小和全屏处理 413
20.1 启用界面旋转 413
20.2 设计可旋转和调整大小的界面 414
20.2.1 自动旋转和自动调整大小 414
20.2.2 调整框架 414
20.2.3 切换视图 414
20.2.4 实战演练——使用Interface Builder创建可旋转和调整大小的界面 414
20.2.5 实战演练——在旋转时调整控件 417
20.2.6 实战演练——旋转时切换视图 421
第21章 图形、图像、图层和动画 424
21.1 图形处理 424
21.1.1 iOS的绘图机制 424
21.1.2 实战演练——在屏幕中绘制一个三角形 425
21.2 图像处理 427
21.2.1 实战演练——实现颜色选择器/调色板功能 428
21.2.2 实战演练——实现滑动颜色选择器/调色板功能 429
21.3 图层 431
21.3.1 视图和图层 432
21.3.2 实战演练——在屏幕中实现3个重叠的矩形 432
21.3.3 实战演练——实现图层的变换 433
21.3.4 实战演练——在指南针上实现某种“页面翻转”的效果 436
21.4 实现动画 439
21.4.1 UIImageView动画 439
21.4.2 视图动画UIView 439
21.4.3 Core Animation详解 444
21.4.4 实战演练——联合使用图像动画、滑块和步进控件 446
21.4.5 实战演练——实现“烟花烟花满天飞”的效果 458
21.5 实战演练——图形图像的人脸检测处理(基于Swift实现) 460
第22章 声音服务 464
22.1 访问声音服务 464
22.1.1 声音服务基础 464
22.1.2 实战演练——播放声音文件 465
22.2 提醒和振动 469
22.2.1 播放提醒音 469
22.2.2 实战演练——实用iOS的提醒功能 469
第23章 多媒体应用 478
23.1 Media Player框架 478
23.1.1 Media Player框架中的类 478
23.1.2 使用电影播放器 479
23.1.3 处理播放结束 480
23.1.4 使用多媒体选择器 480
23.1.5 使用音乐播放器 481
23.1.6 实战演练——使用Media Player播放视频 482
23.2 AV Foundation框架 484
23.2.1 准备工作 484
23.2.2 使用AV音频播放器 484
23.2.3 使用AV录音机 485
23.2.4 使用AV Foundation框架播放音频的流程 485
23.3 图像选择器(UIImagePickerController) 487
23.3.1 使用图像选择器 487
23.3.2 图像选择器控制器委托 487
23.3.3 UIImagePickerController在iPhone和iPad上的区别 488
23.3.4 用UIImagePickerController调用系统相机 489
23.3.5 防止UIImagePickerController“坏死” 489
23.4 实战演练——个多媒体的应用程序 490
23.4.1 实现概述 490
23.4.2 创建项目 490
23.4.3 设计界面 491
23.4.4 创建并连接输出口和操作 492
23.4.5 实现电影播放器 492
23.4.6 实现音频录制和播放 494
23.4.7 使用照片库和相机 497
23.4.8 实现Core Image滤镜 498
23.4.9 访问并播放音乐库 499
23.5 实战演练——实现ImagePicker功能(基于Swift语言) 502
23.6 实战演练——实现一个音乐播放器(基于Swift) 513
第24章 定位处理 520
24.1 Core Location框架 520
24.1.1 Core Location基础 520
24.1.2 使用流程 520
24.2 获取位置 522
24.2.1 位置管理器委托 523
24.2.2 处理定位错误 524
24.2.3 位置精度和更新过滤器 524
24.2.4 获取航向 525
24.3 地图功能 526
24.3.1 Map Kit基础 526
24.3.2 为地图添加标注 527
24.4 实战演练——创建一个支持定位的应用程序 528
24.4.1 创建项目 528
24.4.2 设计视图 529
24.4.3 创建并连接输出口 530
24.4.4 实现应用程序逻辑 531
24.4.5 生成应用程序 532
24.5 实战演练——在屏幕中实现一个定位系统 533
24.5.1 设计界面 533
24.5.2 具体编码 534
24.6 实战演练——使用谷歌地图 536
24.6.1 添加打开地图功能 536
24.6.2 升级视图控制器 538
24.6.3 添加自定义地图标注对象 540
第25章 HomeKit智能家居应用开发 542
25.1 HomeKit基础 542
25.1.1 苹果HomeKit如何牵动全国智能硬件格局 542
25.1.2 给开发者和厂家提供的巨大机会 543
25.1.3 苹果正式推出HomeKit硬件标准 543
25.2 HomeKit开发基础 544
25.2.1 HomeKit应用程序的层次模型 544
25.2.2 HomeKit程序架构模式 545
25.2.3 HomeKit中的类 546
25.3 实战演练——实现一个HomeKit控制程序 547
25.4 实战演练——实现一个HomeKit控制程序(基于Swift语言) 563
第26章 读写应用程序数据 578
26.1 iOS应用程序和数据存储 578
26.2 用户默认设置 579
26.3 设置束 579
26.3.1 设置束基础 579
26.3.2 实战演练——通过隐式首选项实现一个手电筒程序 581
26.4 直接访问文件系统 584
26.4.1 应用程序数据的存储位置 584
26.4.2 获取文件路径 585
26.4.3 读写数据 585
26.4.4 读取和写入文件 586
26.4.5 通过plist文件存取文件 587
26.4.6 保存和读取文件 589
26.4.7 文件共享和文件类型 589
26.4.8 传递一个文档 590
26.4.9 实战演练——实现一个收集用户信息的程序 590
26.5 iCloud存储 594
26.6 使用SQLite3存储和读取数据 595
26.7 核心数据 599
26.7.1 Core Data基础 599
26.7.2 Core Data基本架构 600
26.7.3 托管对象(Managed Objects)和托管对象模型(Managed Object Model) 603
26.7.4 实战演练——在iOS中使用CoreData 604
26.8 互联网数据 606
26.8.1 XML和JSON 606
26.8.2 实战演练——使用JSON获取网站中的照片信息 609
第四篇 技术提高篇 614
第27章 触摸和手势识别 614
27.1 多点触摸和手势识别基础 614
27.2 触摸处理 614
27.2.1 触摸事件和视图 615
27.2.2 实战演练——触摸屏幕中的按钮 620
27.2.3 实战演练——同时滑动屏幕中的两个滑块 621
27.2.4 实战演练——触摸屏幕检测 622
27.2.5 实战演练——触摸屏幕中的文字标签 622
27.3 手势处理 623
27.3.1 手势处理基础 623
27.3.2 实战演练——实现一个手势识别器 629
第28章 和硬件之间的操作 636
28.1 加速计和陀螺仪 636
28.1.1 加速计基础 636
28.1.2 陀螺仪 640
28.1.3 实战演练——检测倾斜和旋转 641
28.2 访问朝向和运动数据 645
28.2.1 两种方法 645
28.2.2 实战演练——检测朝向 647
28.3 实战演练——使用Motion传感器(基于Swift语言) 649
第29章 地址簿、邮件和Twitter 651
29.1 地址簿 651
29.1.1 框架Address Book UI 651
29.1.2 框架Address Book 652
29.2 电子邮件 653
29.3 使用Twitter发送推特信息 654
29.4 实战演练——联合使用地址簿、电子邮件、Twitter和地图 654
29.4.1 创建项目 655
29.4.2 设计界面 655
29.4.3 创建并连接输出口和操作 656
29.4.4 实现地址簿逻辑 656
29.4.5 实现地图逻辑 658
29.4.6 实现电子邮件逻辑 660
29.4.7 实现Twitter逻辑 661
29.4.8 生成应用程序 662
29.5 实战演练——开发一个Twitter客户端(基于Swift语言) 662
第30章 开发通用的项目程序 666
30.1 开发通用应用程序 666
30.1.1 在iOS 6中开发通用应用程序 666
30.1.2 在iOS 7、iOS 8中开发通用应用程序 667
30.1.3 图标文件 674
30.1.4 启动图像 675
30.2 实战演练——使用通用程序模板创建通用应用程序 675
30.2.1 创建项目 675
30.2.2 设计界面 675
30.2.3 创建并连接输出口 676
30.2.4 实现应用程序逻辑 676
30.3 实战演练——使用视图控制器 677
30.3.1 创建项目 677
30.3.2 设计界面 678
30.3.3 创建并连接输出口 678
30.3.4 实现应用程序逻辑 678
30.3.5 生成应用程序 679
30.4 实战演练——使用多个目标 679
30.4.1 将iPhone目标转换为iPad目标 679
30.4.2 将iPad目标转换为iPhone目标 680
30.5 实战演练——创建基于“主—从”视图的应用程序 680
30.5.1 创建项目 681
30.5.2 调整iPad界面 681
30.5.3 调整iPhone界面 682
30.5.4 实现应用程序数据源 683
30.5.5 实现主视图控制器 685
30.5.6 实现细节 视图控制器 686
30.5.7 生成应用程序 687
30.6 实战演练——开发一个语音识别程序(基于Swift) 688
第31章 推服务和多线程 697
31.1 推服务 697
31.1.1 推服务介绍 697
31.1.2 推服务的机制 698
31.2 多线程 698
31.2.1 多线程基础 698
31.2.2 iOS中的多线程 700
31.2.3 线程的同步与锁 704
31.2.4 线程的交互 705
31.3 ARC机制 706
31.3.1 ARC概述 706
31.3.2 ARC中的新规则 707
第32章 指纹识别技术——Touch ID详解 708
32.1 初步认识Touch ID 708
32.2 开发Touch ID应用程序 710
32.2.1 iOS 8的新功能 710
32.2.2 开发Touch ID应用程序的步骤 711
32.3 实战演练——使用Touch ID认证 712
32.4 实战演练——使用Touch ID密码和指纹认证 714
32.5 实战演练——Touch ID认证的综合演练 718
第33章 游戏开发 725
33.1 Sprite Kit框架基础 725
33.1.1 Sprite Kit的优点和缺点 725
33.1.2 Sprite Kit、Cocos2D、Cocos2D-X和Unity的选择 725
33.1.3 实战演练——开发一个Sprite Kit游戏程序 726
33.2 实战演练——开发一个四子棋游戏(基于Swift语言) 734
第34章 HealthKit健康应用开发 743
34.1 HealthKit基础 743
34.1.1 Healthkit介绍 743
34.1.2 市面中的Healthkit应用现状 743
34.1.3 接入Healthkit的好处 744
34.2 HealthKit开发基础 744
34.2.1 开发要求 745
34.2.2 HealthKit开发思路 745
34.3 实战演练——检测一天消耗掉的能量 746
34.4 实战演练——能量检测仪(基于Swift实现) 758
第35章 WatchKit智能手表开发 779
35.1 Apple Watch介绍 779
35.2 WatchKit开发详解 780
35.2.1 搭建WatchKit开发环境 780
35.2.2 WatchKit架构 782
35.2.3 WatchKit布局 784
35.2.4 Glances和Notifications 784
35.2.5 Watch App的生命周期 784
35.3 开发Apple Watch应用程序 786
35.3.1 创建Watch应用 786
35.3.2 创建Glance界面 787
35.3.3 自定义通知界面 787
35.3.4 配置Xcode项目 787
35.4 实战演练——AppleWatch界面布局 789
35.5 实战演练——共享Apple Watch和iPhone的内容(基于Swift实现) 792
35.6 实战演练——Apple Watch显示地图、网页和单元格(基于Swift实现) 799
第五篇 综合实战篇 802
第36章 公交路线查询系统 802
36.1 公交路线查询系统介绍 802
36.2 公交路线查询系统主界面 802
36.2.1 线路查询视图 803
36.2.2 线路详情模块 806
36.2.3 线路中某站详情 809
36.3 站站查询 813
36.3.1 站站查询主视图 813
36.3.2 站站查询详情视图 821
36.4 线路收藏本站历史 823
36.5 地图信息 828
36.5.1 地图主视图 828
36.5.2 Web地图视图 830
36.6 系统设置 831
36.6.1 主视图 831
36.6.2 当前城市视图 836
36.6.3 数据下载视图 839
附录 iOS开发常见疑难解答 842