iOS 6高级开发手册.pdf

iOS 6高级开发手册.pdf
 

书籍描述

内容简介
  《iOS 6高级开发手册(第4版)》是市面上最畅销的iOS开发图书的全新升级版本,以苹果发布的iOS 6为基础编写而成。在本书中,资深iOS开发专家Erica Sadun与大家分享了一些用于iOS 6高端开发的成熟、可靠的方法,并借助大量的代码示例对这些方法进行演示讲解,从而降低了iOS开发的学习难度。
  《iOS 6高级开发手册(第4版)》是《iOS 6核心开发手册(第4版)》的姊妹篇,总共分为13章,先后讲解了特定设备的iOS开发、文档和数据的共享、Core Text的使用方式、iOS开发中使用到的几何学知识、应用在接入网络时需要解决的问题、图像的处理、图像捕获、音频处理、Address Book框架在应用中的使用、地理定位、GameKit和StoreKit的使用,以及如何使用推送通知等内容。
  《iOS 6高级开发手册(第4版)》语言简练、内容丰富,并在配套网站上提供了完整的示例代码,适合具有一定iOS开发经验或其他移动开发经验的人员阅读。对iOS开发感兴趣的入门者,也可以从本书姊妹篇《iOS 6核心开发手册(第4版)》开始起步,逐步学会、掌握iOS的开发。

编辑推荐
《iOS 6高级开发手册(第4版)》由世界知名iOS开发专家Erica Sadun的全新打造;是iOS开发领域扛鼎之作,全面涵盖iOS开发细节;
《iOS 6高级开发手册(第4版)》涵盖以下内容:
测试设备属性,以便开发的应用能充分使用iOS的功能;
在应用之间无缝共享文档和数据,并移交控制权限;
使用自由的文本排版来呈现具有诱惑力和冲击力的文字;
开发基于触摸的应用,并在其中使用贝塞尔曲线、样条曲线和其他几何工具;
通过认证、系统密钥链和OAuth来保护网络应用的安全;
访问和处理图像数据,创建特殊效果;
在应用中集成摄像头的实时馈送和用户快照;
为用户展示音频,并允许用户与之交互;
高效使用Address Book框架和GUI类;
使用Core Location的地理定位功能和MapKit构建基于位置的高级应用;
使用GameKit/Game Center创建互连游戏的多种玩法:设备与设备互连、使游戏共享排行榜、使游戏基于Internet来配对;
使用StoreKit在应用内集成安全的购买功能;
通过推送通知与Web服务的用户通信。

作者简介
Erica Sadun是数十本畅销书的作者、合著者和供稿者,这些书涉及程序设计、数字视频、数字摄影、Web设计和其他技术主题。作为一名在iOS领域最负盛名的开发人员,她还开发了数十种iPhone自带的应用。Sadun持有佐治亚理工学院计算机科学专业的博士学位。

目录
目 录

第1章 特定于设备的开发 1
1.1 访问基本的设备信息 1
1.2 添加设备能力限制 2
1.2.1 用户权限描述 3
1.2.2 其他常用的Info.plist键 4
1.3 秘诀:检查设备接近度和电池状态 4
1.3.1 启用和禁用接近度传感器 5
1.3.2 监测电池状态 5
1.3.3 检测Retina支持 8
1.4 秘诀:取回额外的设备信息 8
1.5 秘诀:使用加速能力“向上”定位 10
1.6 处理基本的方向 12
1.7 同步获取当前的加速计角度 13
1.7.1 通过加速计计算方向 14
1.7.2 计算相对角度 14
1.8 使用加速度移动屏幕上的对象 15
1.9 秘诀:基于加速计的滚动视图 18
1.10 秘诀:Core Motion基础 21
1.10.1 测试传感器 22
1.10.2 处理程序块 22
1.11 秘诀:获取和使用设备姿势 26
1.12 使用运动事件检测晃动 27
1.13 使用外部屏幕 29
1.13.1 检测屏幕 29
1.13.2 获取屏幕分辨率 30
1.13.3 设置Video Out 30
1.13.4 添加显示器链接 31
1.13.5 过扫描补偿 31
1.13.6 VIDEOkit 31
1.14 跟踪用户 35
1.15 还有一件事:检查可用的磁盘空间 36
1.16 小结 37

第2章 文档和数据共享 39
2.1 秘诀:处理统一类型标识符 39
2.1.1 通过文件扩展名确定UTI 40
2.1.2 从UTI转向扩展名或MIME类型 41
2.1.3 测试顺应性 42
2.1.4 获取顺应性列表 43
2.2 秘诀:访问系统粘贴板 45
2.2.1 存储数据 46
2.2.2 存储公共类型 46
2.2.3 获取数据 47
2.2.4 被动更新粘贴板 47
2.3 秘诀:监测Documents文件夹 48
2.3.1 支持文档文件共享 48
2.3.2 用户控制 49
2.3.3 Xcode访问 49
2.3.4 扫描新文档 50
2.4 秘诀:展示活动视图控制器 54
2.4.1 展示活动视图控制器 55
2.4.2 活动项目源 55
2.4.3 项目提供者 55
2.4.4 项目源回调 56
2.4.5 添加服务 57
2.4.6 项目和服务 62
2.4.7 支持HTML电子邮件 63
2.4.8 排除活动 63
2.5 秘诀:Quick Look预览控制器 63
2.6 秘诀:添加QuickLook动作 66
2.7 秘诀:使用文档交互控制器 68
2.7.1 创建文档交互控制器实例 69
2.7.2 文档交互控制器属性 70
2.7.3 提供文档Quick Look支持 70
2.7.4 检查打开菜单 71
2.8 秘诀:声明文档支持 75
2.8.1 创建自定义的文档类型 76
2.8.2 实现文档支持 77
2.9 秘诀:创建基于URL的服务 81
2.9.1 声明模式 82
2.9.2 测试URL 83
2.9.3 添加处理程序方法 83
2.10 小结 84

第3章 Core Text 85
3.1 Core Text和iOS 85
3.1.1 属性 85
3.1.2 C语言与Objective-C 86
3.1.3 UIKit 87
3.2 属性化字符串 87
3.3 秘诀:基本的属性化字符串 90
3.4 秘诀:可变的属性化字符串 91
3.5 响应者样式的神秘性 94
3.6 秘诀:属性栈 96
3.7 秘诀:使用伪HTML创建属性化文本 101
3.8 利用Core Text绘图 105
3.9 创建图像图案 108
3.10 秘诀:在滚动视图上绘制Core Text 110
3.11 秘诀:探讨字体 112
3.12 向应用程序中添加自定义的字体 114
3.13 秘诀:把Core Text进行分页处理 114
3.14 秘诀:把属性化文本绘制到PDF中 116
3.15 秘诀:大电话文本 117
3.16 小结 121

第4章 几何学 123
4.1 秘诀:获取贝塞尔路径中的点 123
4.2 稀释点 125
4.3 秘诀:平滑绘图 128
4.4 秘诀:基于速度的笔画 130
4.5 秘诀:限制贝塞尔路径 132
4.6 秘诀:放入路径 137
4.7 处理曲线 139
4.8 秘诀:沿着贝塞尔路径移动项目 143
4.9 秘诀:沿着贝塞尔路径绘制属性化文本 145
4.10 秘诀:视图变换 148
4.10.1 基本变换 149
4.10.2 揭密 149
4.10.3 获取变换值 150
4.10.4 设置变换值 151
4.10.5 获取视图点的位置 152
4.11 秘诀:测试视图相交 154
4.12 小结 159

第5章 联网 161
5.1 秘诀:安全凭证存储 161
5.2 秘诀:输入凭证 165
5.3 秘诀:处理身份验证质询 170
5.4 秘诀:上传数据 172
5.5 秘诀:构建简单的Web服务器 176
5.6 秘诀:OAuth实用程序 180
5.7 秘诀:OAuth过程 184
5.7.1 第1步:从API提供商请求令牌 184
5.7.2 第2步:获取和存储令牌 184
5.7.3 第3步:请求用户访问 185
5.7.4 第4步:获取一个OAuth验证者令牌 185
5.7.5 第5步:利用访问令牌进行身份验证 187
5.8 小结 191

第6章 图像 193
6.1 图像源 193
6.2 读取图像数据 195
6.2.1 UIImage类的便捷方法 195
6.2.2 查找沙盒中的图像 197
6.2.3 从URL加载图像 198
6.2.4 从资产库中读取数据 198
6.3 秘诀:放入和填充图像 199
6.4 秘诀:旋转图像 203
6.5 秘诀:处理位图表示 206
6.5.1 坐标系统之间的转换 206
6.5.2 查找数据 207
6.5.3 在图像数据与位图数据之间转换 208
6.6 秘诀:基本的图像处理 210
6.7 秘诀:图像卷积 212
6.8 秘诀:基本的Core Image处理 215
6.9 抓取基于视图的截屏图 217
6.10 绘制到PDF文件中 218
6.11 秘诀:倒影 219
6.12 秘诀:发射器 222
6.13 小结 224

第7章 照相机 225
7.1 秘诀:拍摄照片 225
7.1.1 设置选择器 225
7.1.2 显示图像 226
7.1.3 把图像保存到相册 227
7.2 秘诀:启用闪光灯 229
7.3 秘诀:访问AVFoundation照相机 231
7.3.1 需要照相机 231
7.3.2 查询和获取照相机 232
7.3.3 建立照相机会话 233
7.3.4 切换照相机 235
7.3.5 照相机预览 236
7.3.6 布置照相机预览 236
7.3.7 照相机图像助手 237
7.4 秘诀:EXIF 238
7.4.1 ImageIO 238
7.4.2 查询元数据 239
7.4.3 包装UIImage 240
7.5 图像方位 243
7.6 秘诀:Core Image过滤 245
7.7 秘诀:Core Image人脸检测 247
7.8 秘诀:对实时馈送进行抽样 253
7.9 小结 257

第8章 音频 259
8.1 秘诀:利用AVAudioPlayer播放音频 259
8.1.1 初始化音频播放器 259
8.1.2 监测音频级别 260
8.1.3 播放进度和擦除 261
8.1.4 捕获播放的结束 262
8.2 秘诀:循环音频 267
8.3 秘诀:处理音频中断 270
8.4 秘诀:录制音频 273
8.5 秘诀:利用Audio Queues录制音频 279
8.6 秘诀:利用MPMediaPickerController选择音频 286
8.7 创建媒体查询 288
8.7.1 构建查询 288
8.7.2 使用谓词 289
8.8 秘诀:使用MPMusicPlayerController 290
8.9 小结 294

第9章 连接到Address Book 295
9.1 AddressBook框架 295
9.1.1 AddressBookUI 295
9.1.2 AddressBook及其数据库 296
9.1.3 记录 296
9.1.4 自定义的ABStandin类 297
9.1.5 查询Address Book 301
9.1.6 包装AddressBook框架 301
9.1.7 使用记录函数 302
9.1.8 获取和设置字符串 302
9.1.9 处理日期属性 304
9.1.10 多值记录属性 305
9.1.11 存储多值数据 309
9.1.12 处理多值项目 310
9.1.13 地址、社会概况和即时消息属性 311
9.1.14 Address Book中的图像 313
9.1.15 创建、添加和删除记录 314
9.1.16 搜索联系人 316
9.1.17 对联系人排序 317
9.1.18 处理群组 317
9.1.19 ABContact、ABGroup和ABContactsHelper 320
9.2 秘诀:搜索Address Book 321
9.3 秘诀:访问联系人图像数据 323
9.4 秘诀:选择人员 325
9.5 秘诀:限制联系人选择器属性 327
9.6 秘诀:添加和删除联系人 329
9.7 修改和查看单独的联系人 332
9.7.1 用户编辑 332
9.7.2 委托方法 333
9.8 秘诀:“未知的”人员控制器 333
9.9 小结 336

第10章 位置 337
10.1 授权Core Location 337
10.1.1 测试位置服务 337
10.1.2 重置位置和隐私 338
10.1.3 检查用户权限 339
10.1.4 测试Core Location特性 340
10.2 秘诀:Core Location简介 341
10.2.1 位置属性 343
10.2.2 跟踪速度 344
10.3 秘诀:地理围栏 344
10.4 秘诀:使用行进方向值跟踪“North” 347
10.5 秘诀:前向和反向地理编码 349
10.6 秘诀:查看位置 352
10.7 秘诀:用户位置注释 356
10.8 创建地图注释 359
10.8.1 创建、添加和删除注释 360
10.8.2 注释视图 360
10.8.3 自定义注释视图 361
10.8.4 响应注释按钮的点按动作 362
10.9 小结 365

第11章 GameKit 367
11.1 启用Game Center 367
11.2 秘诀:登录到Game Center 369
11.3 设计排行榜和成绩 370
11.3.1 构建排行榜 370
11.3.2 创建成绩 372
11.4 秘诀:访问排行榜 373
11.5 秘诀:显示Game Center视图控制器 375
11.6 秘诀:提交分数 377
11.7 秘诀:检查成绩 378
11.8 秘诀:把成绩报告给Game Center 379
11.9 秘诀:多玩家配对安排 381
11.10 秘诀:响应配对安排者 382
11.11 秘诀:创建邀请处理程序 384
11.12 管理配对状态 385
11.13 秘诀:处理玩家状态改变 386
11.14 秘诀:获取玩家名字 387
11.14.1 比较玩家 388
11.14.2 获取本地玩家 388
11.15 游戏玩法 389
11.16 序列化数据 389
11.17 秘诀:同步数据 393
11.18 秘诀:逐回合地安排配对 395
11.19 秘诀:响应基于回合的邀请 397
11.20 秘诀:加载配对 398
11.21 秘诀:响应玩法 400
11.22 秘诀:结束游戏玩法 404
11.23 删除配对 407
11.24 秘诀:Game Center语音 409
11.24.1 测试聊天可用性 409
11.24.2 建立播放和录制音频会话 409
11.24.3 创建语音聊天 411
11.24.4 开始和停止聊天 411
11.24.5 聊天状态监测 411
11.24.6 实现聊天按钮 412
11.24.7 控制音量 413
11.25 GameKit对等服务 413
11.25.1 GameKit Bluetooth的局限性 414
11.25.2 Bonjour会话 414
11.25.3 服务器、客户和对等方 415
11.25.4 对等连接过程 415
11.25.5 发送和接收数据 418
11.25.6 状态改变 419
11.25.7 创建GameKit助手 420
11.25.8 对等语音聊天 420
11.25.9 实现语音聊天 420
11.25.10 创建“联机”GameKit连接 421
11.26 小结 423

第12章 StoreKit 425
12.1 初识StoreKit 425
12.1.1 履约 425
12.1.2 StoreKit开发悖论 426
12.1.3 开发和测试 427
12.1.4 提交 427
12.2 创建测试账户 427
12.3 创建新的应用程序中的购买项目 428
12.3.1 填写细节区域 429
12.3.2 添加本地化描述 430
12.3.3 填写定价区域 431
12.3.4 提供购买GUI截屏图 431
12.3.5 提交应用程序中的购买产品以进行评审 432
12.4 构建店面GUI 432
12.5 购买项目 434
12.5.1 签出iTunes账户以进行测试 435
12.5.2 在购买后重新获得程序控制 435
12.5.3 注册购买 438
12.5.4 恢复购买 438
12.5.5 购买多个项目 439
12.5.6 处理注册购买中的延迟 439
12.6 验证收据 439
12.7 小结 442

第13章 推送通知 443
13.1 推送通知简介 443
13.1.1 推送的工作原理 444
13.1.2 多个提供者支持 444
13.1.3 安全 445
13.1.4 推送限制 445
13.1.5 推送通知与本地通知 446
13.2 配置推送 446
13.2.1 生成新的应用程序标识符 446
13.2.2 生成SSL证书 447
13.2.3 特定于推送的配置 448
13.2.4 创建推送兼容的应用程序 449
13.3 注册应用程序 449
13.3.1 获取设备令牌 449
13.3.2 处理令牌请求错误 450
13.3.3 响应通知 450
13.4 秘诀:推送客户骨架 452
13.5 构建通知有效载荷 457
13.5.1 本地化的提醒 458
13.5.2 从字典转换为JSON 458
13.5.3 自定义的数据 458
13.5.4 在启动时接收数据 458
13.6 秘诀:发送通知 459
13.6.1 沙盒和生产 460
13.7 反馈服务 464
13.8 设计推送 465
13.9 小结 466

购买书籍

当当网购书 京东购书 卓越购书

PDF电子书下载地址

相关书籍

搜索更多