内容简介
第1章 特定于设备的开发
1.1访问基本的设备信息
1.2添加设备能力限制
1.2.1用户权限描述
1.2.2其他常用的Info.plist键
1.3秘诀:检查设备接近度和电池状态
1.3.1启用和禁用接近度传感器
1.3.2监测电池状态
1.3.3检测Retina支持
1.4秘诀:取回额外的设备信息
1.5秘诀:使用加速能力“向上”定位
1.6处理基本的方向
1.7同步获取当前的加速计角度
1.7.1通过加速计计算方向
1.7.2计算相对角度
1.8使用加速度移动屏幕上的对象
1.9秘诀:基于加速计的滚动视图
1.10秘诀:Core Motion基础
1.10.1测试传感器
1.10.2处理程序块
1.11秘诀:获取和使用设备姿势
1.12使用运动事件检测晃动
1.13使用外部屏幕
1.13.1检测屏幕
1.13.2获取屏幕分辨率
1.13.3设置Video Out
1.13.4添加显示器链接
1.13.5过扫描补偿
1.13.6VIDEOkit
1.14跟踪用户
1.15还有一件事:检查可用的磁盘空间
1.16小结
第2章 文档和数据共享
2.1秘诀:处理统一类型标识符
2.1.1通过文件扩展名确定UTI
2.1.2从UTI转向扩展名或MIME类型
2.1.3测试顺应性
2.1.4获取顺应性列表
2.2秘诀:访问系统粘贴板
2.2.1存储数据
2.2.2存储公共类型
2.2.3获取数据
2.2.4被动更新粘贴板
2.3秘诀:监测Documents文件夹
2.3.1支持文档文件共享
2.3.2用户控制
2.3.3Xcode访问
2.3.4扫描新文档
2.4秘诀:展示活动视图控制器
2.4.1展示活动视图控制器
2.4.2活动项目源
2.4.3项目提供者
2.4.4项目源回调
2.4.5添加服务
2.4.6项目和服务
2.4.7支持HTML电子邮件
2.4.8排除活动
2.5秘诀:Quick Look预览控制器
2.6秘诀:添加QuickLook动作
2.7秘诀:使用文档交互控制器
2.7.1创建文档交互控制器实例
2.7.2文档交互控制器属性
2.7.3提供文档Quick Look支持
2.7.4检查打开菜单
2.8秘诀:声明文档支持
2.8.1创建自定义的文档类型
2.8.2实现文档支持
2.9秘诀:创建基于URL的服务
2.9.1声明模式
2.9.2测试URL
2.9.3添加处理程序方法
2.10小结
第3章 Core Text
3.1 Core Text和iOS
3.1.1属性
3.1.2 C语言与Objective-C
3.1.3 UIKit
3.2属性化字符串
3.3秘诀:基本的属性化字符串
3.4秘诀:可变的属性化字符串
3.5响应者样式的神秘性
3.6秘诀:属性栈
3.7秘诀:使用伪HTML创建属性化文本
3.8利用Core Text绘图
3.9创建图像图案
3.10秘诀:在滚动视图上绘制Core Text
3.11秘诀:探讨字体
3.12向应用程序中添加自定义的字体
3.13秘诀:把Core Text进行分页处理
3.14秘诀:把属性化文本绘制到PDF中
3.15秘诀:大电话文本
3.16小结
第4章 几何学
4.1秘诀:获取贝塞尔路径中的点
4.2稀释点
4.3秘诀:平滑绘图
4.4秘诀:基于速度的笔画
4.5秘诀:限制贝塞尔路径
4.6秘诀:放入路径
4.7处理曲线
4.8秘诀:沿着贝塞尔路径移动项目
4.9秘诀:沿着贝塞尔路径绘制属性化文本
4.10秘诀:视图变换
4.10.1基本变换
4.10.2揭密
4.10.3获取变换值
4.10.4设置变换值
4.10.5获取视图点的位置
4.11秘诀:测试视图相交
4.12小结
第5章 联网
5.1秘诀:安全凭证存储
5.2秘诀:输入凭证
5.3秘诀:处理身份验证质询
5.4秘诀:上传数据
5.5秘诀:构建简单的Web服务器
5.6秘诀:OAuth实用程序
5.7秘诀:OAuth过程
5.7.1第1步:从API提供商请求令牌
5.7.2第2步:获取和存储令牌
5.7.3第3步:请求用户访问
5.7.4第4步:获取一个OAuth验证者令牌
5.7.5第5步:利用访问令牌进行身份验证
5.8小结
第6章 图像
6.1图像源
6.2读取图像数据
6.2.1 UIImage类的便捷方法
6.2.2查找沙盒中的图像
6.2.3从URL加载图像
6.2.4从资产库中读取数据
6.3秘诀:放入和填充图像
6.4秘诀:旋转图像
6.5秘诀:处理位图表示
6.5.1坐标系统之间的转换
6.5.2查找数据
6.5.3在图像数据与位图数据之间转换
6.6秘诀:基本的图像处理
6.7秘诀:图像卷积
6.8秘诀:基本的Core Image处理
6.9抓取基于视图的截屏图
6.10绘制到PDF文件中
6.11秘诀:倒影
6.12秘诀:发射器
6.13小结
第7章 照相机
7.1秘诀:拍摄照片
7.1.1设置选择器
7.1.2显示图像
7.1.3把图像保存到相册
7.2秘诀:启用闪光灯
7.3秘诀:访问AVFoundation照相机
7.3.1需要照相机
7.3.2查询和获取照相机
7.3.3建立照相机会话
7.3.4切换照相机
7.3.5照相机预览
7.3.6布置照相机预览
7.3.7照相机图像助手
7.4秘诀:EXIF
7.4.1 ImageIO
7.4.2查询元数据
7.4.3包装UIImage
7.5图像方位
7.6秘诀:Core Image过滤
7.7秘诀:Core Image人脸检测
7.8秘诀:对实时馈送进行抽样
7.9小结
第8章 音频
8.1秘诀:利用AVAudioPlayer播放音频
8.1.1初始化音频播放器
8.1.2监测音频级别
8.1.3播放进度和擦除
8.1.4捕获播放的结束
8.2秘诀:循环音频
8.3秘诀:处理音频中断
8.4秘诀:录制音频
8.5秘诀:利用Audio Queues录制音频
8.6秘诀:利用MPMediaPickerController选择音频
8.7创建媒体查询
8.7.1构建查询
8.7.2使用谓词
8.8秘诀:使用MPMusicPlayerController
8.9小结
第9章 连接到Address Book
9.1 AddressBook框架
9.1.1 AddressBookUI
9.1.2 AddressBook及其数据库
9.1.3记录
9.1.4自定义的ABStandin类
9.1.5查询Address Book
9.1.6包装AddressBook框架
9.1.7使用记录函数
9.1.8获取和设置字符串
9.1.9处理日期属性
9.1.10多值记录属性
9.1.11存储多值数据
9.1.12处理多值项目
9.1.13地址、社会概况和即时消息属性
9.1.14Address Book中的图像
9.1.15创建、添加和删除记录
9.1.16搜索联系人
9.1.17对联系人排序
9.1.18处理群组
9.1.19ABContact、ABGroup和ABContactsHelper
9.2秘诀:搜索Address Book
9.3秘诀:访问联系人图像数据
9.4秘诀:选择人员
9.5秘诀:限制联系人选择器属性
9.6秘诀:添加和删除联系人
9.7修改和查看单独的联系人
9.7.1用户编辑
9.7.2委托方法
9.8秘诀:“未知的”人员控制器
9.9小结
第10章 位置
10.1授权Core Location
10.1.1测试位置服务
10.1.2重置位置和隐私
10.1.3检查用户权限
10.1.4测试Core Location特性
10.2秘诀:Core Location简介
10.2.1位置属性
10.2.2跟踪速度
10.3秘诀:地理围栏
10.4秘诀:使用行进方向值跟踪“North”
10.5秘诀:前向和反向地理编码
10.6秘诀:查看位置
10.7秘诀:用户位置注释
10.8创建地图注释
10.8.1创建、添加和删除注释
10.8.2注释视图
10.8.3自定义注释视图
10.8.4响应注释按钮的点按动作
10.9小结
第11章 GameKit
11.1启用Game Center
11.2秘诀:登录到Game Center
11.3设计排行榜和成绩
11.3.1构建排行榜
11.3.2创建成绩
11.4秘诀:访问排行榜
11.5秘诀:显示Game Center视图控制器
11.6秘诀:提交分数
11.7秘诀:检查成绩
11.8秘诀:把成绩报告给Game Center
11.9秘诀:多玩家配对安排
11.10秘诀:响应配对安排者
11.11秘诀:创建邀请处理程序
11.12管理配对状态
11.13秘诀:处理玩家状态改变
11.14秘诀:获取玩家名字
11.14.1比较玩家
11.14.2获取本地玩家
11.15游戏玩法
11.16序列化数据
11.17秘诀:同步数据
11.18秘诀:逐回合地安排配对
11.19秘诀:响应基于回合的邀请
11.20秘诀:加载配对
11.21秘诀:响应玩法
11.22秘诀:结束游戏玩法
11.23删除配对
11.24秘诀:Game Center语音
11.24.1测试聊天可用性
11.24.2建立播放和录制音频会话
11.24.3创建语音聊天
11.24.4开始和停止聊天
11.24.5聊天状态监测
11.24.6实现聊天按钮
11.24.7控制音量
11.25GameKit对等服务
11.25.1 GameKit Bluetooth的局限性
11.25.2 Bonjour会话
11.25.3服务器、客户和对等方
11.25.4对等连接过程
11.25.5发送和接收数据
11.25.6状态改变
11.25.7创建GameKit助手
11.25.8对等语音聊天
11.25.9实现语音聊天
11.25.10创建“联机”GameKit连接
11.26小结
第12章 StoreKit
12.1初识StoreKit
12.1.1履约
12.1.2StoreKit开发悖论
12.1.3开发和测试
12.1.4提交
12.2创建测试账户
12.3创建新的应用程序中的购买项目
12.3.1填写细节区域
12.3.2添加本地化描述
12.3.3填写定价区域
12.3.4提供购买GUI截屏图
12.3.5提交应用程序中的购买产品以进行评审
12.4构建店面GUI
12.5购买项目
12.5.1签出iTunes账户以进行测试
12.5.2在购买后重新获得程序控制
12.5.3注册购买
12.5.4恢复购买
12.5.5购买多个项目
12.5.6处理注册购买中的延迟
12.6验证收据
12.7小结
第13章 推送通知
13.1推送通知简介
13.1.1推送的工作原理
13.1.2多个提供者支持
13.1.3安全
13.1.4推送限制
13.1.5推送通知与本地通知
13.2配置推送
13.2.1生成新的应用程序标识符
13.2.2生成SSL证书
13.2.3特定于推送的配置
13.2.4创建推送兼容的应用程序
13.3注册应用程序
13.3.1获取设备令牌
13.3.2处理令牌请求错误
13.3.3响应通知
13.4秘诀:推送客户骨架
13.5构建通知有效载荷
13.5.1本地化的提醒
13.5.2从字典转换为JSON
13.5.3自定义的数据
13.5.4在启动时接收数据
13.6秘诀:发送通知
13.6.1沙盒和生产
13.7反馈服务
13.8设计推送
13.9小结