第1章 为何选择本地化应用 1
1.1优点和缺点 1
为何要开发本地化应用? 2
1.2发行周期 3
1.3做好了用户自然会来 4
第2章 成为一名开发者 6
2.1注册成为iOS开发者 6
2.2加入iOS开发者计划 9
2.3 Mac开发者计划 10
2.4安装iOS SDK 10
关于Beta版本 14
2.5准备你的iOS设备 14
2.5.1创建开发证书 15
2.5.2获取开发设备的UDID 17
2.5.3创建App ID 18
2.5.4创建移动描述文件 19
2.5.5让你的设备支持开发 20
第3章 你的第一个 iOS应用 22
3.1 Objective-C基础 22
3.1.1面向对象编程 22
3.1.2 Objective-C的对象模型 25
3.1.3 Objective-C的基本语法 26
3.2创建工程 27
3.2.1浏览Xcode工程 31
3.2.2 Interface Builder 38
3.2.3设计用户界面 39
3.2.4关联UI控件和代码 41
3.2.5在模拟器上运行 44
3.2.6在iPhone上运行 46
第4章 Objective-C编程 47
4.1声明和定义类 47
4.1.1声明类的接口 47
4.1.2定义类的实现 49
4.1.3强类型与弱类型 49
4.1.4属性 50
4.1.5合成(Synthesizing)属性 51
4.1.6点句式 52
4.1.7方法声明 52
4.1.8方法调用 53
4.1.9调用nil对象的方法 54
4.2内存管理 54
4.2.1创建对象 54
4.2.2自动回收池 55
4.2.3 alloc,retain,copy和release周期 55
4.2.4自动引用计数 56
4.2.5 dealloc方法 57
4.2.6处理内存警告 57
4.3常用iOS设计模式 58
4.3.1 MVC模式 58
4.3.2视图和视图控制器 59
4.3.3委托和数据源模式 60
4.4总结 60
第5章 基于表视图应用 62
5.1创建工程 62
5.2创建表视图 63
运行代码 68
5.3为表视图填充内容 68
5.4创建模型 70
5.4.1添加城市 73
5.4.2添加图片 75
5.5关联控制器和模型 77
用Alert窗口测试功能 79
5.6添加导航控制器(Navigation Control) 80
5.7添加城市视图 82
5.8编辑模式 91
5.8.1删除城市 95
5.8.2添加城市 96
5.8.3添加新城市的界面 99
5.8.4保存城市数据 106
第6章 其他视图控制器 111
6.1工具类应用 111
电量监控应用 112
6.2标签栏应用 123
添加标签视图 124
6.3联合使用多种视图控制器 128
6.4模态视图控制器 134
修改City Guide应用 134
6.5图片选择视图控制器 143
在City Guide应用中加入图片选择器 143
6.6主从视图(Master-Detail)应用 152
创建一个通用(Universal)应用 153
6.7 Popover控制器 159
第7章 访问网络 160
7.1监测网络状态 160
Reachability类 160
7.2在应用中嵌入浏览器 173
7.2.1网页视图控制器 173
7.2.2显示静态HTML文件 182
7.2.3从UIWebView中获取数据 183
7.3发送邮件 183
7.4从互联网获取数据 189
7.4.1同步请求 189
7.4.2异步请求 190
7.4.3使用Web服务 191
第8章 处理数据 207
8.1数据输入 207
8.1.1 UITextField及其委托 207
8.1.2 UlTextView及其委托 209
8.2解析XML 211
8.2.1使用libxml2解析XML 212
8.2.2使用NSXMLParser解析XML 213
8.3解析JSON 214
8.3.1 NSJSONSerialization 215
8.3.2 JSON Framework 217
8.3.3抓取Twitter热门话题(Trending) 218
8.3.4使用Social框架 219
8.3.5 Twitter Trends应用 220
8.4正则表达式 228
8.5存储数据 233
8.5.1使用纯文本文件保存数据 233
8.5.2使用SQL数据库保存信息 234
8.5.3 Core Data框架 242
第9章 使用传感器 243
9.1硬件支持 243
9.1.1网络可用性 243
9.1.2相机可用性 245
9.1.3音频输入可用性 245
9.1.4 GPS可用性 245
9.1.5磁力计可用性 246
9.2设置应用的硬件需求 246
9.2.1 WiFi长连接 248
9.2.2后台运行模式 248
9.3 iPhone和iPad的不同 249
9.4使用Camera 249
9.5 Core Motion框架 250
9.5.1轮询运动数据 251
9.5.2订阅运动数据 252
9.5.3加速度计 253
9.5.4陀螺仪 257
9.5.5磁力计 259
9.6使用近距离感应器 262
9.7使用震动器 264
第10章 地图和定位 265
10.1Core Location框架 265
设备的朝向 267
10.2基于位置的天气 269
10.2.1反向地理编码 270
10.2.2正向地理编码 270
10.2.3 CLPlacemark对象 271
10.2.4完善天气应用 271
10.3定位与MapKit 279
10.4地图标记 286
第11章 iCloud介绍 294
11.1怎样使用iCloud? 294
11.1.1 iCloud备份 294
11.1.2获取授权描述文件 295
11.2使用键值对存储 298
11.3总结 305
第12章 与系统应用集成 306
12.1应用选项 306
12.2 Accounts框架 317
12.3 Social框架 318
12.3.1发送Twitter信息 318
12.3.2发送Facebook信息 320
12.4自定义URL Scheme 320
12.4.1使用自定义URL Scheme 320
12.4.2注册自定义URL Scheme 321
12.5媒体播放 327
12.6使用地址簿 331
12.6.1使用交互方式选择联系人 332
12.6.2使用编程方式选择联系人 336
12.7发送短信 336
第13章 发布你的应用 338
13.1添加还缺少的功能 338
13.1.1添加图标 338
13.1.2添加启动图片 342
13.1.3修改显示名称 345
13.1.4启用自动旋转 346
13.2编译与签名 348
13.2.1 Ad hoc发布 348
13.2.2 Developer-to-Developer发布 353
13.2.3 App Store发布 354
13.3提交到App Store 355
13.3.1为App Store发布构建你的应用 360
13.3.2 App Store资源中心 364
13.4审核被拒的原因 364
第14章 未来之路 367
14.1 Cocoa和Objective-C 367
14.2 Web应用 368
14.3 PhoneGap 368
14.4 Core Data 369
14.5应用内购买 369
14.6 Core Animation 370
14.7 Game Kit 370
14.8编写游戏 371
14.9界面和交互 371
14.10配件 372