《精通iOS框架 第2版》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:(美)KyleRichter,(美)JoeKeeley著;冯宗翰,江铭,朱倩译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2016
  • ISBN:9787302433811
  • 页数:441 页
图书介绍:向UIViews添加物理偏向的动画和行为,使用Core Location判定设备位置、展示自定义地图、实现地理围栏,使用Leaderboards制作游戏和应用,访问音乐和图像集合,使用HealthKit构建健康应用,使用HomeKit集成智能家庭,使用JSON在平台间传递数据,建立本地和远程通知,使用CloudKit远程存储和同步数据,使用扩展访问应用功能,添加AirPrint支持,使用Core Data,使用Social Framework集成Twitter和Facebook,等等

第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

第2章 Core Location、MapKit和Geofencing框架 13

2.1 示例程序 13

2.2 获取用户位置 13

2.2.1 请求和允许 14

2.2.2 检查服务 16

2.2.3 开始位置请求 17

2.2.4 解析和理解位置数据 19

2.2.5 重大变更通知 20

2.2.6 使用GPX文件测试指定位置 20

2.3 显示地图 21

2.3.1 了解坐标系 21

2.3.2 MKMapKit配置和自定义 22

2.3.3 对用户操作的响应 23

2.4 地图标注和覆盖物 24

2.4.1 添加标注 24

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

2.4.3 可拖曳的标注视图 29

2.4.4 使用地图覆盖物 30

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

2.5.1 对地址进行地理编码 31

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

2.6 地理围栏 38

2.6.1 判断区域监控是否可用 38

2.6.2 定义边界 38

2.6.3 监控变更 39

2.7 获取路径 41

2.8 小结 45

第3章 排行榜 47

3.1 示例程序 47

3.1.1 弹出仙人掌 49

3.1.2 仙人掌间的相互影响 51

3.1.3 显示生命值和得分 53

3.1.4 暂停和恢复 54

3.1.5 有关Whack-a-Cac游戏的最后问题 55

3.2 iTunes Connect 55

3.3 Game Center管理器 58

3.4 认证 60

3.4.1 常见的认证错误 60

3.4.2 iOS 6和新的认证系统 62

3.5 提交得分 64

3.5.1 向Whack-a-Cac中添加得分 66

3.5.2 展示排行榜 68

3.5.3 得分挑战 70

3.5.4 深入讨论排行榜 71

3.6 小结 72

第4章 成就系统 73

4.1 iTunes Connect 73

4.2 显示成就进度 75

4.3 Game Center Manager和认证 76

4.4 成就系统缓存 76

4.5 上报成就系统 77

4.6 添加成就关联 79

4.7 进度完成通知栏 80

4.8 成就挑战系统 80

4.9 向Whack-a-Cac添加成就系统 83

4.9.1 是否达成成就 83

4.9.2 部分完成的成就 85

4.9.3 多会话成就 86

4.9.4 携带成就和保存成就精度 87

4.9.5 基于时间的成就 88

4.10 重置成就系统 89

4.11 深入讨论成就系统 90

4.12 小结 91

第5章 Address Book框架初步 93

5.1 支持Address Book很重要 93

5.2 Address Book开发的限制 93

5.3 示例程序 94

5.4 开始实现Address Book并运行 94

5.4.1 从Address Book读取数据 96

5.4.2 从Address Book读取多值数据 97

5.4.3 理解Address Book标签 98

5.4.4 处理地址信息 99

5.5 Address Book图形用户界面 100

5.6 编写代码来创建联系人 105

5.7 小结 107

第6章 Music Libraries框架 109

6.1 示例程序 109

6.2 创建播放引擎 110

6.2.1 注册播放通知 111

6.2.2 用户控制 112

6.2.3 处理状态改变 114

6.2.4 时长和计时器 118

6.2.5 随机播放和循环播放 119

6.3 资源选择器 119

6.4 编程实现选择器 121

6.4.1 播放随机歌曲 121

6.4.2 谓词匹配 123

6.5 小结 124

第7章 实现HealthKit框架 125

7.1 HealthKit介绍 125

7.2 Health.app介绍 126

7.3 示例程序 126

7.4 向项目添加HealthKit 127

7.5 请求授权Health Data 128

7.6 读取HealthKit特征数据 130

7.7 读写基本的HealthKit数据 131

7.8 读写复杂的HealthKit数据 133

7.9 小结 137

第8章 实现HomeKit框架 139

8.1 示例程序 139

8.2 HomeKit介绍 139

8.3 设置HomeKit组件 140

8.3.1 设置开发者账号 140

8.3.2 启用HomeKit功能 141

8.3.3 家庭管理器 142

8.3.4 家庭 143

8.3.5 房间和区域 144

8.3.6 附件 146

8.3.7 服务和服务组 149

8.3.8 动作和动作集 151

8.4 使用HomeKit Accessory Simulator进行测试 152

8.5 使用触发器计划动作 153

8.6 小结 154

第9章 JSON的使用和解析 155

9.1 JSON 155

9.1.1 使用JSON的好处 155

9.1.2 JSON资源 156

9.2 示例程序 156

9.3 访问服务器 156

9.4 从服务器获取JSON 156

9.4.1 创建请求 157

9.4.2 检查反馈 157

9.4.3 解析JSON 158

9.4.4 显示数据 158

9.5 发送消息 160

9.5.1 JSON数据编码 160

9.5.2 向服务器发送JSON数据 162

9.6 小结 163

第10章 通知机制 165

10.1 本地通知和推送通知的区别 165

10.2 示例程序 166

10.3 应用设置 166

10.4 创建Development Push SSL Certificate 168

10.5 开发配置文件 171

10.6 准备自定义声音 175

10.7 注册通知 175

10.8 设置本地通知 176

10.9 接收通知 178

10.10 推送通知服务器 179

10.11 发送推送通知 179

10.12 处理APNs反馈 180

10.13 小结 181

第11章 基于CloudKit的云存储 183

11.1 CloudKit基础 183

11.2 示例程序 184

11.3 设置CloudKit项目 184

11.3.1 账户设置 184

11.3.2 启用iCloud功能 185

11.4 CloudKit概念 186

11.4.1 容器 186

11.4.2 数据库 186

11.4.3 记录 186

11.4.4 记录区域 187

11.4.5 记录标识符 187

11.4.6 asset对象 187

11.5 CloudKit基础操作 188

11.5.1 获取记录 188

11.5.2 创建并保存记录 189

11.5.3 更新和保存记录 191

11.6 订阅和推送 191

11.6.1 推送设置 192

11.6.2 数据变更的订阅 192

11.7 用户发现和管理 193

11.8 在dashboard中管理数据 197

11.9 小结 199

第12章 extension 201

12.1 extension的类型 201

12.1.1 Today 201

12.1.2 Share 202

12.1.3 Action 202

12.1.4 Photo Editing 202

12.1.5 Document Provider 202

12.1.6 Custom Keyboard 202

12.2 理解extension 202

12.3 API限制 203

12.4 创建extension 203

12.5 Today extension 205

12.6 在host app和extension间共享代码和信息 206

12.7 Apple Watch extension 207

12.8 小结 209

第13章 Handoff 211

13.1 示例程序 211

13.2 Handoff基础 211

13.3 实现Handoff 213

13.3.1 创建用户活动 213

13.3.2 继续执行一个活动 215

13.4 在基于文档的应用中实现Handoff 216

13.5 小结 218

第14章 AirPrint 219

14.1 AirPrint打印机 219

14.2 测试AirPrint 220

14.3 打印文本 221

14.3.1 打印信息 222

14.3.2 设置页面范围 222

14.3.3 UISimpleTextPrint-Formatter 223

14.3.4 错误处理 223

14.3.5 开始一个打印任务 224

14.3.6 打印机模拟器反馈 224

14.4 打印中心 225

14.5 打印呈现的HTML 226

14.6 打印PDF 227

14.7 小结 228

第15章 开始使用Core Data 229

15.1 Core Data的选择 230

15.2 示例程序 231

15.3 开始一个Core Data项目 232

15.4 创建托管对象模型 235

15.4.1 创建实体 236

15.4.2 添加特性 236

15.4.3 建立关系 237

15.4.4 自定义托管对象子类 238

15.5 设置默认数据 238

15.5.1 插入新的托管对象 239

15.5.2 其他默认的数据设置方法 240

15.6 显示托管对象 240

15.6.1 创建取回请求 241

15.6.2 根据对象ID取回托管对象 242

15.6.3 显示对象数据 244

15.6.4 使用谓词 245

15.7 取回结果控制器介绍 246

15.7.1 准备取回结果控制器 247

15.7.2 整合表视图和取回结果控制器 248

15.7.3 对CoreData变化的响应 250

15.8 添加、编辑和删除托管对象 253

15.8.1 插入新的托管对象 253

15.8.2 删除托管对象 254

15.8.3 编辑现有的托管对象 255

15.8.4 保存和回滚修改 255

15.9 小结 257

第16章 使用社交框架整合Twitter和Facebook 259

16.1 示例程序 259

16.2 用户登录 260

16.3 使用SLComposeView-Controller 261

16.4 使用自定义界面发送消息 263

16.4.1 向Twitter发送消息 263

16.4.2 向Facebook发送消息 267

16.4.3 创建Facebook应用 267

16.5 访问用户时间轴 272

16.5.1 Twitter 272

16.5.2 Facebook 277

16.6 小结 281

第17章 后台任务处理 283

17.1 示例程序 283

17.2 检查后台运行的可行性 284

17.3 在后台完成任务 285

17.3.1 后台任务标识符 286

17.3.2 超时处理程序 286

17.3.3 完成后台任务 287

17.4 实现后台活动 288

17.4.1 后台活动的类型 288

17.4.2 在后台播放音乐 289

17.5 小结 292

第18章 多线程开发的性能 293

18.1 示例程序 293

18.2 队列介绍 294

18.3 在主线程上运行 295

18.4 在后台运行 296

18.5 在操作队列中运行 298

18.5.1 并发操作 298

18.5.2 串行操作 299

18.5.3 取消操作 301

18.5.4 自定义操作 302

18.6 在调度队列中运行 303

18.6.1 并发调度队列 304

18.6.2 串行调度队列 305

18.7 小结 307

第19章 使用Keychain和TouchlD保护并访问数据 309

19.1 示例程序 310

19.2 创建和使用Keychain 310

19.2.1 创建新的KeychainItemWrapper 310

19.2.2 保存和获取PIN 312

19.2.3 Keychain特性键 312

19.2.4 保护字典对象 313

19.2.5 重置Keychain元素 315

19.2.6 在应用间共享Keychain 315

19.2.7 Keychain错误代码 316

19.3 实现Touch ID 317

19.4 小结 318

第20章 处理图片和过滤器 319

20.1 示例程序 319

20.2 基本图片数据和显示 319

20.2.1 实例化图片 319

20.2.2 显示图片 321

20.2.3 使用图片选择器 323

20.2.4 调整图片尺寸 325

20.3 Core Image过滤器 326

20.3.1 过滤器类别和过滤器 326

20.3.2 过滤器特性 328

20.3.3 初始化图片 331

20.3.4 渲染过滤后的图片 331

20.3.5 链式过滤 332

20.4 特征检测 333

20.4.1 创建人脸检测器 334

20.4.2 处理人脸特征 334

20.5 小结 336

第21章 集合视图 337

21.1 示例程序 337

21.2 集合视图介绍 338

21.2.1 创建一个集合视图 338

21.2.2 为集合视图实现数据源方法 340

21.2.3 实现集合视图委托方法 342

21.3 定制集合视图和流布局 344

21.3.1 基础定制 344

21.3.2 修饰视图 346

21.4 创建定制布局 349

21.5 集合视图动画 353

21.5.1 集合视图布局切换 354

21.5.2 集合视图布局动画 355

21.5.3 集合视图变化动画 357

21.6 小结 357

第22章 TextKit介绍 359

22.1 示例程序 359

22.2 NSLayoutManager介绍 360

22.3 动态链接检测 362

22.4 检测点击 363

22.5 路径排除 364

22.6 Content Specific Highlighting特性 365

22.7 使用Dynamic Type更改字体设置 370

22.8 小结 371

第23章 手势识别 373

23.1 手势识别的类型 373

23.2 基础手势识别的用法 374

23.3 示例程序介绍 375

23.3.1 点击识别动作 375

23.3.2 捏压识别动作 377

23.4 在一个视图中识别多个手势 378

23.4.1 手势识别的工作原理 380

23.4.2 在一个视图中识别多个手势:Redux 381

23.4.3 请求手势识别失败 382

23.5 定制UIGestureRecognizer子类 384

23.6 小结 384

第24章 访问照片库 385

24.1 示例程序 385

24.2 Photos框架 386

24.3 使用资源集合和资源 386

24.3.1 权限 387

24.3.2 资源集合 388

24.3.3 资源 391

24.4 照片库中的编辑操作 393

24.4.1 编辑资源集合 393

24.4.2 编辑资源 395

24.5 处理照片流 398

24.6 小结 398

第25章 Passbook和PassKit 399

25.1 示例程序 400

25.2 设计通行证 400

25.2.1 通行证的类型 400

25.2.2 通行证布局——登机牌 401

25.2.3 通行证布局——优惠券 401

25.2.4 通行证布局——入场券 402

25.2.5 通行证布局——通用卡 402

25.2.6 通行证布局——购物卡 402

25.2.7 通行证的显示 403

25.3 创建通行证 404

25.3.1 基础通行证标识 405

25.3.2 通行证相关信息 405

25.3.3 条形码识别 406

25.3.4 通行证视觉外观信息 406

25.3.5 通行证区域 407

25.4 通行证的签名和封装 409

25.4.1 创建Pass Type ID 409

25.4.2 创建通行证签名证书 411

25.4.3 创建清单 415

25.4.4 通行证的签名和封装 415

25.4.5 测试通行证 416

25.4.6 具体应用中的通行证交互 417

25.5 自动更新通行证 426

25.6 小结 426

第26章 调试和工具 427

26.1 调试 427

26.1.1 第一个计算机错误 427

26.1.2 Xcode基础调试 428

26.2 断点 430

26.2.1 定制断点 430

26.2.2 标志断点和异常断点 431

26.2.3 断点范围 432

26.3 使用调试器 432

26.4 工具 433

26.4.1 工具界面 434

26.4.2 Time Profiler工具 436

26.4.3 Leaks工具 438

26.4.4 进一步了解调试工具 440

26.5 小结 440