第1章 iOS 5编程快速入门 1
1.1 获取开发工具和SDK 1
1.2 Xcode的组件 2
1.2.1 Xcode 3
1.2.2 iOS Simulator 4
1.2.3 Interface Builder 8
1.2.4 Instruments 8
1.3 iOS架构概述 9
1.4 起步前需要了解的一些信息 11
1.4.1 iOS的版本 12
1.4.2 在真实设备上进行测试 12
1.4.3 屏幕分辨率 12
1.5 小结 14
第2章 编写第一个“Hello World!”应用程序 15
2.1 Xcode快速起步 15
2.1.1 使用InterfaceBuilder 18
2.1.2 编写代码 22
2.2 定制应用程序图标 23
2.3 显示启动图像 26
2.4 小结 29
第3章 视图、插座变量与动作 31
3.1 插座变量和动作 31
3.2 使用视图 36
3.2.1 使用警告视图 37
3.2.2 使用动作表单 41
3.2.3 页面控件与图像视图 43
3.2.4 使用Web视图 51
3.3 使用代码动态添加视图 54
3.4 理解视图层次结构 57
3.5 小结 59
第4章 视图控制器 63
4.1 Single View Application模板 63
4.1.1 应用程序委托 66
4.1.2 使用视图控制器控制UI 69
4.2 Empty Application模板 72
4.2.1 以编程的方式添加视图控制器和视图 77
4.2.2 为视图切换添加动画 83
4.3 Master-Detail Application模板 85
4.4 Tabbed Application模板 100
4.5 小结 104
第5章 iPhone和iPad的多平台支持 107
5.1 方法1:修改设备目标设置 107
5.2 方法2:创建Universal应用程序 113
5.3 选择移植方法 117
5.4 小结 117
第6章 键盘输入 119
6.1 使用键盘 119
6.2 定制输入类型 121
6.2.1 隐藏键盘 122
6.2.2 当视图加载完毕后自动显示键盘 128
6.3 检测键盘是否可见 128
6.3.1 使用Scroll View 129
6.3.2 显示键盘时滚动视图 133
6.4 小结 139
第7章 屏幕旋转 141
7.1 响应设备旋转 141
7.1.1 不同类型的屏幕方向 144
7.1.2 处理旋转 144
7.2 以编程的方式旋转屏幕 150
7.2.1 在运行期间旋转屏幕 150
7.2.2 将View窗口固定在特定的方向上 150
7.3 小结 151
第8章 使用表视图创建和持久化数据 153
8.1 简单的表视图 153
8.1.1 添加Header与Footer 158
8.1.2 添加图像 159
8.1.3 显示所选项 160
8.1.4 缩进 163
8.1.5 修改行高 163
8.2 在Master-Detail Application中使用表视图 164
8.3 分节显示 164
8.3.1 添加索引 172
8.3.2 添加搜索功能 173
8.3.3 详情显示与选取标记 184
8.3.4 导航到另外一个View窗口 186
8.4 小结 189
第9章 使用应用程序首选项 191
9.1 创建应用程序首选项 191
9.2 以编程的方式访问设置值 197
9.2.1 加载设置值 202
9.2.2 重置首选项设置值 204
9.2.3 保存设置值 205
9.3 小结 206
第10章 文件处理 209
10.1 理解应用程序文件夹 210
10.1.1 使用Documents与Library文件夹 210
10.1.2 将文件存储到临时文件夹中 215
10.1.3 应该使用Documents还是tmp文件夹 215
10.2 使用属性列表 215
10.3 复制打包的资源 222
10.4 导入和导出文件 224
10.4.1 导出文档 226
10.4.2 文件共享 229
10.4.3 导入文档 232
10.4.4 导入自己定义的文档 235
10.5 小结 236
第11章 使用SQLite进行数据库存储 239
11.1 链接到SQLite3数据库 240
11.2 创建并打开数据库 242
11.2.1 检查创建的数据库 243
11.2.2 创建表 244
11.2.3 插入记录 245
11.2.4 绑定变量 246
11.2.5 检索记录 249
11.3 在应用程序中打包SQLite数据库 251
11.4 小结 252
第12章 iCloud编程 255
12.1 在iCloud中存储和使用文档 255
12.1.1 为应用程序启用iCloud存储 256
12.1.2 设置项目的Entitlement 259
12.1.3 使用UIDocument类管理iCloud文档 261
12.1.4 在iCloud中存储文档 263
12.2 在iCloud中存储键/值数据 274
12.3 小结 277
第13章 实现简单动画和视频播放 279
13.1 使用NSTimer类 279
13.2 变换视图 286
13.2.1 平移 287
13.2.2 旋转 288
13.2.3 缩放 290
13.3 为一系列图像增加动画效果 291
13.4 在iPhone中播放视频 294
13.5 小结 298
第14章 访问内置应用程序 301
14.1 发送e-mail 301
14.1.1 调用Safari 308
14.1.2 调用拨号程序 308
14.1.3 调用SMS 308
14.2 访问照相机与照片库 311
14.2.1 访问照片库 311
14.2.2 访问照相机 317
14.3 小结 320
第15章 访问传感器 321
15.1 使用陀螺仪和加速计 321
15.2 可视化传感器数据 327
15.3 使用Shake API检测摇动 332
15.4 小结 338
第16章 使用Web服务 339
16.1 使用XML Web服务的基础知识 340
16.1.1 使用SOAP 1.1 341
16.1.2 使用SOAP 1.2 342
16.1.3 使用HTTP GET 343
16.1.4 使用HTTP POST 343
16.2 在iOS应用程序中通过SOAP使用Web服务 344
16.3 解析XML响应 352
16.4 使用JSON Web服务 357
16.5 在应用程序中集成Twitter 363
16.6 小结 369
第17章 蓝牙编程 371
17.1 使用Game Kit框架 371
17.1.1 搜索对等设备 372
17.1.2 发送和接收数据 379
17.2 实现语音聊天 382
17.3 小结 390
第18章 Bonjour编程 391
18.1 创建应用程序 391
18.2 发布服务 393
18.3 浏览服务 396
18.4 小结 402
第19章 使用Apple推送通知服务进行远程通知编程 403
19.1 使用Apple推送通知服务 404
19.1.1 生成证书请求 404
19.1.2 生成开发证书 405
19.1.3 创建应用程序ID 406
19.1.4 针对推送通知配置App ID 407
19.1.5 创建Provisioning Profile 410
19.1.6 在设备上安装Provisioning Profile 411
19.2 创建iOS应用程序 412
19.3 创建推送通知提供者 417
19.4 小结 420
第20章 显示地图 423
20.1 使用Map Kit框架显示地图和监视变化 423
20.2 获得位置数据 428
20.2.1 指定位置跟踪的硬件需求 433
20.2.2 使用地图显示位置 434
20.2.3 获取方向信息 437
20.2.4 旋转地图 441
20.2.5 显示注记 446
20.2.6 逆地理编码 451
20.2.7 显示箭头按钮 454
20.3 小结 457
第21章 编写后台应用程序 459
21.1 理解iOS中的后台执行 459
21.1.1 检查不同的应用程序状态 460
21.1.2 禁用后台模式 463
21.1.3 检测多任务支持 463
21.1.4 在后台跟踪位置 464
21.1.5 使位置应用程序更加节能 468
21.2 本地通知 469
21.3 使用NSNotification类通知其他对象 476
21.4 小结 481
附录A 在实际设备上进行测试 483
附录B Xcode快速入门 503
附录C Objective-C快速入门 529
附录D 练习答案 557