《iOS组件与框架 iOS SDK高级特性剖析》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:(美)里克特,(美)基利著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2014
  • ISBN:9787115365538
  • 页数:454 页
图书介绍:本书讲解了如何使用iOS的强大组件和框架来开发杰出的app,使其具备优异的性能、可靠性、交互性,并对媒体提供支持。本书清晰地向读者介绍了一些开发app所用到的复杂中高级技术,并通过大量实例项目来显示,将这些技术集成到iOS应用中的方法。本书为想要开发高性能iOS app的人员提供了实用的技巧、可重用的代码以及专家级的建议。 傅道坤

第1章 UIKit Dynamics 1

1.1 示例应用 1

1.2 UIKit Dynamics简介 2

1.3 实现UIKit Dynamics 2

1.3.1 重力 3

1.3.2 碰撞 4

1.3.3 连接 6

1.3.4 弹簧效果 7

1.3.5 吸附 8

1.3.6 推力 8

1.3.7 物体属性 10

1.4 深入了解UIDynamicAnimator和UIDynamicAnimatorDelegate 11

1.5 小结 12

1.6 练习 12

第2章 Core Location、MapKit和地理围栏 13

2.1 示例应用 13

2.2 获取用户的位置 13

2.2.1 需求和许可 14

2.2.2 检查定位服务是否已开启 17

2.2.3 开始位置请求 17

2.2.4 分析和理解位置数据 19

2.2.5 重大变化通知 20

2.2.6 使用GPX文件进行位置测试 20

2.3 显示地图 22

2.3.1 理解坐标系 22

2.3.2 配置和定制MKMapKit 22

2.3.3 响应用户交互 24

2.4 地图注释和覆盖层 25

2.4.1 添加注释 25

2.4.2 显示标准和自定义的注释视图 27

2.4.3 可拖曳的注释视图 30

2.4.4 使用地图覆盖层 31

2.5 地理编码和反向地理编码 32

2.5.1 对地址进行地理编码 32

2.5.2 对位置进行反向地理编码 36

2.6 地理围栏 38

2.6.1 检查区域监视功能 38

2.6.2 定义边界 39

2.6.3 监视变化 40

2.7 获取线路 41

2.8 小结 46

2.9 练习 46

第3章 排行榜 47

3.1 “打仙人掌”游戏 47

3.1.1 生成仙人掌 49

3.1.2 处理玩家与仙人掌的交互 51

3.1.3 显示生命数和得分 53

3.1.4 暂停和继续 54

3.1.5 对游戏“打仙人掌”的最后思考 55

3.2 iTunes Connect 56

3.3 游戏中心管理器 58

3.4 身份验证 60

3.4.1 常见的身份验证错误 61

3.4.2 iOS 6身份验证 63

3.5 提交得分 65

3.5.1 在游戏“打仙人掌”中添加得分功能 67

3.5.2 显示排行榜 69

3.5.3 得分挑战 71

3.5.4 更深入地了解排行榜 72

3.6 小结 74

3.7 练习 74

第4章 成就 75

4.1 iTunes Connect 75

4.2 显示成就进度 77

4.3 游戏中心管理器和身份验证 78

4.4 成就缓存 78

4.5 报告成就 80

4.6 添加成就钩子 82

4.7 完成横幅 83

4.8 成就挑战 83

4.9 在游戏“打仙人掌”中添加成就功能 85

4.9.1 一步获得的成就 86

4.9.2 可分多步获得的成就 88

4.9.3 可分多次获得的成就 89

4.9.4 捎带式成就及存储准确的成就进度 90

4.9.5 基于时间的成就 91

4.10 重置成就 92

4.11 更深入地了解成就 93

4.12 小结 94

4.13 练习 94

第5章 地址簿 97

5.1 为何支持地址簿很重要 97

5.2 地址簿编程的限制 97

5.3 示例应用简介 98

5.4 使用地址簿 99

5.4.1 从地址簿读取数据 100

5.4.2 从地址簿读取多值数据 101

5.4.3 理解地址簿标签 102

5.4.4 使用地址 103

5.5 地址簿图形用户界面 104

5.6 以编程方式创建联系人 109

5.7 小结 111

5.8 练习 112

第6章 使用音乐库 113

6.1 示例应用简介 113

6.2 打造播放引擎 114

6.2.1 注册播放通知 115

6.2.2 播放控制 116

6.2.3 响应状态变化 118

6.2.4 时长和定时器 122

6.2.5 随机播放和重复播放 123

6.3 媒体选择器 123

6.4 以编程方式选择媒体 125

6.4.1 随机选择歌曲 126

6.4.2 使用谓词选择歌曲 127

6.5 小结 129

6.6 练习 129

第7章 使用和分析JSON 131

7.1 JSON 131

7.1.1 使用JSON的好处 131

7.1.2 JSON资源 132

7.2 示例应用简介 132

7.3 访问服务器 132

7.4 从服务器获取JSON 133

7.4.1 创建请求 133

7.4.2 查看响应 134

7.4.3 分析JSON 134

7.4.4 显示数据 135

7.5 发布消息 137

7.5.1 JSON编码 137

7.5.2 将JSON数据发送给服务器 139

7.6 小结 140

7.7 练习 140

第8章 iCloud 141

8.1 示例应用 141

8.2 配置应用以支持iCloud 142

8.2.1 设置账户 142

8.2.2 启用iCloud功能 143

8.2.3 初始化iCloud 144

8.3 UIDocument简介 144

8.3.1 创建UIDocument子类 145

8.3.2 与UIDocument交互 146

8.4 与iCloud交互 147

8.4.1 列出iCioud中的文档 148

8.4.2 检测iCloud冲突 151

8.5 解决冲突 152

8.6 键值存储同步 156

8.7 小结 158

8.8 练习 158

第9章 通知 159

9.1 本地通知和推送通知的差别 159

9.2 示例应用 160

9.3 配置应用 160

9.4 创建开发推送SSL证书 163

9.5 开发供应配置文件 165

9.6 准备自定义声音 169

9.7 注册远程通知 169

9.8 调度本地通知 170

9.9 接收通知 171

9.10 推送通知服务器 172

9.11 Rails基本配置 173

9.12 添加设备和呼叫支持 174

9.13 设备控制器 176

9.14 呼叫控制器 176

9.15 整合起来 177

9.16 发送推送通知 181

9.17 处理APNs反馈 181

9.18 小结 181

9.19 练习 181

第10章 使用Game Kit蓝牙联网技术 183

10.1 Game Kit蓝牙联网技术的局限性 183

10.2 Game Kit蓝牙联网技术的优点 183

10.3 示例应用 184

10.4 对等设备选择器 188

10.5 发送数据 191

10.5.1 数据传输模式 191

10.5.2 在示例应用中发送数据 192

10.6 接收数据 193

10.7 状态变化 194

10.8 高级功能 195

10.8.1 对等设备的显示名称 195

10.8.2 在不使用对等设备选择器的情况下建立连接 195

10.8.3 会话模式 197

10.9 小结 197

10.10 练习 197

第11章 AirPrint 199

11.1 AirPrint打印机 199

11.2 检查设备是否支持AirPrint 200

11.3 打印文本 201

11.3.1 打印信息 202

11.3.2 设置页面范围 202

11.3.3 错误处理 203

11.3.4 启动打印作业 204

11.3.5 Print Simulator的反馈 205

11.4 打印中心 205

11.5 打印渲染的HTML 207

11.6 打印PDF 208

11.7 小结 209

11.8 练习 209

第12章 Core Data简介 211

12.1 判断是否适合使用Core Data 212

12.2 Core Data托管对象 212

12.2.1 托管对象 213

12.2.2 托管对象模型 213

12.2.3 托管对象模型迁移 215

12.2.4 创建托管对象 215

12.2.5 对象检索和排序 216

12.2.6 检索结果控制器 217

12.3 Core Data环境 217

12.3.1 持久存储协调器 218

12.3.2 持久存储区 218

12.3.3 托管对象上下文 218

12.4 小结 219

第13章 使用Core Data 221

13.1 示例应用 221

13.2 创建Core Data项目 222

13.3 创建托管对象模型 225

13.3.1 创建实体 226

13.3.2 添加特性 227

13.3.3 建立关系 227

13.3.4 NSManagedObject子类 228

13.4 添加默认数据 229

13.4.1 插入托管对象 229

13.4.2 其他默认数据添加技术 230

13.5 显示托管对象 230

13.5.1 创建检索请求 231

13.5.2 使用对象ID检索 232

13.5.3 显示对象数据 234

13.5.4 使用谓词 235

13.6 检索结果控制器简介 237

13.6.1 准备检索结果控制器 237

13.6.2 集成表视图和检索结果控制器 239

13.6.3 响应Core Data变化 241

13.7 添加、编辑和删除托管对象 243

13.7.1 插入托管对象 243

13.7.2 删除托管对象 244

13.7.3 编辑托管对象 245

13.7.4 保存和回滚所做的修改 245

13.8 小结 246

13.9 练习 247

第14章 语言特性 249

14.1 字面量 249

14.1.1 NSNumber 250

14.1.2 NSArray 250

14.1.3 NSDictionary 251

14.1.4 盒装表达式(Boxed Expressions) 252

14.2 自动引用计数 252

14.2.1 在新项目中使用ARC 252

14.2.2 将既有项目迁移到ARC 253

14.2.3 ARC的基本用法 255

14.2.4 ARC限定符 256

14.3 块 256

14.3.1 声明和使用块 257

14.3.2 使用块捕获状态 257

14.3.3 将块用作方法参数 259

14.3.4 内存、线程和块 260

14.4 属性 261

14.4.1 声明属性 261

14.4.2 合成属性 262

14.4.3 访问属性 263

14.4.4 句点表示法 263

14.4.5 快速枚举 264

14.5 方法替换 265

14.6 小结 267

14.7 练习 267

第15章 使用Social Framework集成Twitter和Facebook 269

15.1 集成社交功能 269

15.2 示例应用 269

15.3 登录 270

15.4 使用SLComposeViewController 271

15.5 使用自定义界面发布消息 273

15.5.1 发布推文 273

15.5.2 发布Facebook消息 277

15.5.3 创建Facebook应用 277

15.6 访问用户的时光轴 281

15.6.1 Twitter 282

15.6.2 Facebook 287

15.7 小结 290

15.8 练习 291

第16章 执行后台任务 293

16.1 示例应用 293

16.2 检查设备是否支持后台处理 294

16.3 在后台完成任务 295

16.3.1 后台任务标识符 296

16.3.2 终止处理程序 296

16.3.3 执行后台任务 297

16.4 实现后台活动 298

16.4.1 后台活动类型 298

16.4.2 在后台播放音乐 299

16.5 小结 302

16.6 练习 302

第17章 使用GCD改善性能 303

17.1 示例应用 303

17.2 队列简介 304

17.3 在主线程中运行 304

17.4 在后台运行 306

17.5 在操作队列中运行 308

17.5.1 并行操作 308

17.5.2 串行操作 309

17.5.3 撤销操作 311

17.5.4 自定义操作 311

17.6 在分派队列中运行 313

17.6.1 并行分派队列 314

17.6.2 串行分派队列 315

17.7 小结 316

17.8 练习 317

第18章 使用钥匙串保护数据 319

18.1 示例应用简介 319

18.2 使用Keychain 320

18.2.1 创建KeychainItem Wrapper实例 320

18.2.2 存储和获取PIN 321

18.2.3 钥匙串项属性键 322

18.2.4 保护字典 323

18.2.5 重置钥匙串项 325

18.2.6 在应用之间共享钥匙串项 325

18.2.7 Keychain错误码 326

18.3 小结 327

18.4 练习 327

第19章 使用图像和滤镜 329

19.1 示例应用 329

19.2 基本的图像数据和显示 329

19.2.1 实例化图像 329

19.2.2 显示图像 331

19.2.3 使用图像选择器 332

19.2.4 调整图像大小 334

19.3 Core Image滤镜 335

19.3.1 滤镜类别和滤镜 335

19.3.2 滤镜的属性 337

19.3.3 初始化图像 340

19.3.4 渲染应用滤镜后的图像 340

19.3.5 串接滤镜 341

19.4 人脸检测 342

19.4.1 创建人脸检测器 342

19.4.2 处理五官 343

19.5 小结 345

19.6 练习 345

第20章 集合视图 347

20.1 示例应用 347

20.2 集合视图简介 348

20.2.1 创建集合视图 348

20.2.2 实现集合视图数据源方法 350

20.2.3 实现集合视图委托方法 352

20.3 定制集合视图和流式布局 354

20.3.1 基本定制 354

20.3.2 装饰视图 355

20.4 创建自定义布局 359

20.5 集合视图动画 362

20.5.1 集合视图布局变更动画 362

20.5.2 集合视图滚动动画 364

20.5.3 集合视图内容变更动画 365

20.6 小结 366

20.7 练习 366

第21章 TextKit简介 367

21.1 示例应用 367

21.2 NSLayoutManager简介 368

21.2.1 NSTextStore 368

21.2.2 NSLayoutManagerDelegate 369

21.2.3 NSTextContainer 370

21.3 动态地检测链接 370

21.4 触摸检测 371

21.5 排除路径 372

21.6 突出特定内容 373

21.7 使用动态字体修改字体设置 378

21.8 小结 379

21.9 练习 379

第22章 手势识别器 381

22.1 手势识别器类型 381

22.2 手势识别器的基本用法 382

22.3 示例应用简介 382

22.3.1 使用轻按识别器 383

22.3.2 使用张合识别器 384

22.4 一个视图,多个识别器 385

22.4.1 手势识别器的幕后原理 387

22.4.2 一个视图多个识别器 388

22.4.3 要求手势识别器失败 389

22.5 自定义UIGestureRecognizer子类 391

22.6 小结 392

22.7 练习 392

第23章 访问照片库 393

23.1 示例应用 393

23.2 资产库 393

23.3 枚举资产编组和资产 394

23.3.1 许可 394

23.3.2 编组 396

23.3.3 资产 400

23.4 显示资产 402

23.5 保存到相机胶卷 407

23.6 处理照片流 408

23.7 小结 409

23.8 练习 410

第24章 Passbook和PassKit 411

24.1 示例应用 411

24.2 设计凭证 412

24.2.1 凭证类型 412

24.2.2 凭证布局之登机牌 413

24.2.3 凭证布局之优惠券 413

24.2.4 凭证布局之入场券 413

24.2.5 凭证布局之通用凭证 414

24.2.6 凭证布局之购物卡 414

24.2.7 凭证的呈现 415

24.3 创建凭证 416

24.3.1 凭证的基本标识 417

24.3.2 凭证的相关信息 417

24.3.3 条形码标识 418

24.3.4 凭证的外观信息 418

24.3.5 凭证字段 419

24.4 凭证的签名和打包 421

24.4.1 创建凭证类型ID 421

24.4.2 创建凭证签名证书 423

24.4.3 创建清单文件 426

24.4.4 对凭证进行签名和打包 427

24.4.5 测试凭证 428

24.4.6 在应用中与凭证交互 428

24.5 自动更新凭证 436

24.6 小结 437

24.7 练习 437

第25章 调试和Instruments 439

25.1 调试简介 439

25.1.1 第一个计算机Bug 439

25.1.2 Xcode调试基础 440

25.2 断点 442

25.2.1 定制断点 442

25.2.2 符号断点和异常断点 443

25.2.3 断点的范围 444

25.3 使用调试器 444

25.4 Instruments 446

25.4.1 Instruments的界面 447

25.4.2 探索Instruments:Time Profiler 448

25.4.3 探索Instruments:Leaks 451

25.4.4 更深入地了解Instruments 453

25.5 小结 453

25.6 练习 454