第1部分 入门 1
第1章 安装Xcode 2
1.1下载 4
1.2参与计划 4
1.3更多素材 5
1.4小结 5
第2章 探索Xcode环境 6
2.1得到一个窗口 8
2.2创建项目 8
2.3工作区窗口 10
2.4导航器区域 11
2.4.1项目导航器 11
2.4.2符号导航器 12
2.4.3搜索导航器 13
2.4.4问题导航器 13
2.4.5调试导航器 15
2.4.6断点导航器 16
2.4.7日志导航器 16
2.5跳转栏 18
2.6编辑器区域 19
2.6.1辅助窗格简介 20
2.6.2在辅助窗格中打开文件 20
2.6.3添加和删除辅助窗格 20
2.6.4更改布局行为 21
2.6.5更改辅助行为模式 22
2.7工具区域 23
2.8调试区域 24
2.9活动查看器 24
2.10标签式编码 25
2.11组织器窗口 26
2.12小结 26
第3章 获得帮助 28
3.1帮助菜单 30
3.1.1 Xcode帮助 30
3.1.2 Xcode用户指南 30
3.1.3文档和API参考 30
3.1.4其余菜单项 30
3.2组织器的文档选项卡 31
3.2.1探索 31
3.2.2搜索 32
3.2.3书签 32
3.3源代码编辑器 32
3.3.1工具区域中的快速帮助 32
3.3.2搜索选中文本的文档 33
3.4社区帮助和反馈 34
3.4.1 Apple的开发人员论坛 34
3.4.2文档错误 34
3.5小结 34
第2部分 构建应用程序 37
第4章 建立工作区 38
4.1工作区定义 40
4.2何时使用工作区 41
4.2.1截然不同的应用程序 41
4.2.2应用程序套件 41
4.3创建照明套件工作区 42
4.3.1在工作区中添加项目 42
4.4小结 44
第5章 添加资源和代码 46
5.1使用文件 48
5.1.1使用添加文件表单 48
5.1.2使用拖放 49
5.1.3创建新文件 50
5.1.4使用文件模板库 51
5.1.5从项目中删除文件 52
5.2向Lamp添加文件 52
5.3使用源代码编辑器 53
5.3.1聚焦和折叠代码 54
5.3.2自动添加代码 55
5.4小结 59
第6章用Xcode快照进行版本控制 60
6.1 Xcode快照 62
6.1.1配置快照 62
6.1.2创建快照 63
6.1.3管理快照 63
6.1.4从快照中恢复 64
6.2小结 65
第7章 构建用户界面 66
7.1理解Nib 68
7.1.1文件的属主和控制器对象 68
7.1.2动作和出口 68
7.1.3分类法 69
7.2熟悉界面构建器 69
7.2.1编辑器区域 70
7.2.2工具区域 72
7.2.3库 74
7.2.4辅助窗格 75
7.3添加用户界面元素 76
7.3.1添加一个开关 77
7.3.2使用弹簧和支架 78
7.3.3使用自动布局 79
7.3.4建立连接 82
7.4故事板 85
7.4.1添加UI 87
7.4.2使用场景和切换 88
7.5小结 92
第8章 创建Core Data模型 94
8.1 Core Data简介 96
8.1.1托管对象模型 96
8.1.2持久化存储 96
8.1.3实体 97
8.1.4托管对象上下文 97
8.2使用数据模型编辑器 98
8.3为Lamp创建基本数据模型 99
8.3.1规划 100
8.3.2构建模型 100
8.3.3生成子类 102
8.4小结 105
第9章 调试应用程序 106
9.1交互式调试 108
9.1.1使用调试栏 108
9.1.2使用基本控件 109
9.1.3在控制台中工作 110
9.1.4使用断点 110
9.1.5与源代码编辑器交互 112
9.1.6使用调试导航器 113
9.2调试Flashlight应用程序 113
9.2.1中断并进入 113
9.2.2检查数据 115
9.3静态分析 115
9.3.1使用静态分析器 116
9.3.2探索分析器结果 117
9.4小结 119
第10章 部署 120
10.1存档 122
10.1.1创建存档 122
10.1.2查找存档 122
10.1.3检查存档 123
10.1.4测试应用程序 124
10.2验证应用程序 124
10.3分发渠道 126
10.3.1服务提供配置文件和代码签名 126
10.3.2 iOS应用分发 129
10.3.3 Mac应用分发 133
10.4存档的替代方法 137
10.5小结 137
第3部分 进一步的探索 139
第11章在Xcode 4中使用旧的项目 140
11.1项目现代化方法 142
11.1.1等等!别急着按下那个按钮 143
11.1.2应用程序现代化 143
11.1.3现代化是为一些没有主见的人设计的 145
11.2代码现代化方法 146
11.2.1更新工具 146
11.2.2更新代码 147
11.2.3使用ARC 149
11.3小结 151
第12章 高级编辑 152
12.1重命名符号 154
12.2重构 155
12.2.1重构工具 155
12.2.2重构预览 158
12.3用宏组织代码 159
12.4更改编辑器键绑定 160
12.4.1管理命令集 161
12.4.2自定义快捷键 162
12.5调整项目设置 162
12.6使用搜索导航器 163
12.6.1使用查找选项 164
12.6.2创建自定义查找范围 165
12.6.3替换文本 167
12.7在文件中搜索 168
12.8小结 169
第13章 构建系统 170
13.1概述 172
13.1.1目标 172
13.1.2方案 172
13.1.3构建设置 172
13.1.4配置 172
13.1.5运行目标 173
13.1.6构建阶段 173
13.1.7构建规则 173
13.2使用目标 173
13.2.1寻找项目的目标 174
13.2.2项目范围设置 175
13.2.3探索目标 176
13.2.4添加新目标 187
13.3使用方案 191
13.3.1寻找项目的方案 191
13.3.2管理方案 192
13.3.3编辑方案 194
13.4授权和沙箱 203
13.4.1代码签名 205
13.4.2激活授权和沙箱 205
13.4.3设置具体授权 206
13.5小结 207
第14章 使用框架 208
14.1什么是库、框架和包? 210
14.1.1库 210
14.1.2框架 211
14.1.3可加载包 211
14.2使用现有的库和框架 212
14.2.1系统框架示例 212
14.2.2使用第三方框架 216
14.3创建一个框架 219
14.3.1创建项目 219
14.3.2添加一些代码 220
14.3.3配置头文件 222
14.4小结 224
第15章 改进代码质量 226
15.1调试 228
15.1.1观察和修改变量 228
15.1.2自定义断点 229
15.1.3使用控制台 230
15.2 Instruments 234
15.2.1启动Instruments 234
15.2.2 Instruments用户界面概述 237
15.2.3应用程序的时间剖面 245
15.2.4其他分析工具 247
15.3单元测试 248
15.3.1 Xcode中的单元测试 249
15.3.2由OCUnit推动 250
15.3.3编写单元测试 253
15.4小结 261
第16章 脚本和预处理 262
16.1用自定义脚本扩展工作流 264
16.1.1脚本的机会 264
16.1.2 Xcode的环境变量 268
16.2研究一个简单的脚本示例 268
16.2.1设定场景 269
16.2.2创建脚本 269
16.2.3仅在发行构建上进行存档操作 270
16.2.4扩展脚本 273
16.3使用预处理器 273
16.3.1宏 274
16.3.2中毒 275
16.3.3忽略 276
16.3.4条件语句 277
16.3.5在构建环境中的宏 278
16.3.6局限 282
16.4小结 282
第17章Xcode的命令行界面 284
17.1命令行工具 286
17.2从命令行构建 287
17.2.1持续集成 288
17.2.2 xcodebuild 288
17.2.3处理工作区、项目、目标和方案 289
17.2.4构建选项 290
17.2.5 SDK和架构 291
17.3使用多个版本的Xcode 293
17.4访问命令行工具 294
17.5小结 295
第18章用SCM系统进行版本控制 296
18.1使用Git和Subversion 298
18.1.1 Git和SVN的差别 298
18.1.2管理存储库 299
18.1.3执行常规的SCM任务 305
18.2使用托管的Git服务 315
18.2.1在托管服务中添加一个项目 315
18.2.2使用功能分支 318
18.3小结 321
附录A管理iOS设备 322
A.1使用组织器的设备选项卡 324
A.2在设备上安装iOS 327
A.3管理设备屏幕截图 328
A.3.1截取屏幕截图 328
A.3.2比较屏幕截图 328
A.3.3使用屏幕截图作为默认图像 329
A.4管理应用程序与数据 330
A.4.1安装和删除应用程序 331
A.4.2下载和上传应用程序数据 331
A.5检查日志 332
附录B文档更新 334
B.1设置文档首选项 336
附录C其他资源 338
C.1本书网站 340
C.2 Apple资源 340
C.3第三方资源 340