目 录
第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
