《iOS网络编程与云端应用最佳实践》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:关东升著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2013
  • ISBN:9787302322207
  • 页数:404 页
图书介绍:本书是一本主要针对iOS网络编程开发方面的书籍,主要分为3部分,前四章为第一部分,主要讲解iOS网络开发的基础知识,包括数据交换格式,数据请求和解析,iOS网络概论,基于web服务与客户端结构通信以及iOS网络通信的架构与设计模式;第二部分为7章,主要讲解iOS网络开发方面的一些新功能,主要包括iCloud,推送通知,苹果杂志开发,社交网络开发,应用内置付费网络实现,地图,定位以及火热的passbook。最后一部分为案例。

第1章 开篇综述 1

1.1本书结构 1

1.2本书中的约定 2

1.2.1实例代码约定 2

1.2.2图示的约定 3

网络基础篇 9

第2章 沟通无限——苹果的网络 9

2.1网络结构 9

2.1.1客户端服务器结构网络 9

2.1.2对等结构网络 9

2.2基于Socket的C/S结构网络通信 10

2.2.1 Socket概念 10

2.2.2 Socket编程 11

2.2.3实例:NSStream&CFStream实现TCP Socket服务器端 12

2.2.4实例:NSStream&CFStream实现TCP Socket客户端 18

2.3 Bonjour服务发现 22

2.3.1发布服务 22

2.3.2解析服务 23

2.3.3查找服务 24

2.3.4实例:基于服务发现的Socket通信服务器端 25

2.3.5实例:基于服务发现的Socket通信客户端 29

2.4对等结构网络 33

2.4.1使用Game Kit开发对等结构网络应用 33

2.4.2实例:基于蓝牙对等网络通信 34

本章小结 39

第3章 数据交换格式 40

3.1 XML数据交换格式 41

3.1.1文档结构 42

3.1.2 XML文档解析与框架性能 43

3.1.3实例:MyNotes应用XML 45

3.2 JSON数据交换格式 55

3.2.1文档结构 55

3.2.2 JSON数据编码/解码与框架性能 56

3.2.3实例:MyNotes应用JSON解码 58

本章小结 61

云服务篇 65

第4章 使用Web Service——基于客户端服务器结构网络通信 65

4.1 REST Web Service 66

4.1.1 HTTP和HTTPS协议 66

4.1.2同步GET方法请求编程 67

4.1.3异步GET方法请求编程 72

4.1.4 POST方法请求编程 74

4.1.5实例:REST Web Service实现的MyNotes应用 75

4.2 SOAP Web Service 81

4.2.1 WSDL概念 81

4.2.2 SOAP协议 83

4.2.3实例:SOAP Web Service实现MyNotes应用 84

4.3 ASIHTTPRequest框架使用 94

4.3.1安装和配置ASIHTTPRequest框架 94

4.3.2同步请求 96

4.3.3异步请求 99

4.3.4实例:请求队列应用 101

4.3.5实例:上传数据应用 104

4.4反馈网络信息改善用户体验 106

4.4.1 iOS 6表视图刷新控件的使用 106

4.4.2使用等待指示器控件 109

4.4.3使用网络等待指示器 111

4.4.4使用MBProgressHUD等待指示器 113

本章小结 116

第5章iCloud编程 117

5.1苹果云服务——iCloud 117

5.2配置iCloud 120

5.2.1创建App ID 121

5.2.2创建配置概要文件 124

5.3 iCloud数据存储 126

5.3.1 iCloud键值数据存储 126

5.3.2 iCloud文档存储 126

5.3.3 iCloud存储注意事项 128

5.4 iCloud键值数据存储编程 129

5.4.1实例:iCloud键值数据存储设计 129

5.4.2配置Xcode工程 130

5.4.3代码实现 131

5.5 iCloud文档存储编程 133

5.5.1实例:iCloud文档存储编程设计 133

5.5.2配置Xcode工程 134

5.5.3自定义文档类 135

5.5.4获得iCloud文档目录 136

5.5.5查找Ubiquity容器中的文档 136

5.5.6保存文档 139

5.5.7解决文档冲突 140

5.6在iCloud下使用Core Data技术 142

5.6.1实例:iCloud Core Data编程设计 142

5.6.2使用Xcode创建Core Data工程 143

5.6.3创建持久化存储协调者 144

5.6.4创建被管理的对象上下文 147

5.6.5合并iCloud与本地数据 148

本章小结 149

社交篇 153

第6章 社交网络编程 153

6.1苹果公司的社交网络 153

6.1.1设置账户信息 153

6.1.2社交网络编程API 155

6.2 iOS 6分享列表——UIActivityViewController 155

6.2.1内置活动列表项 155

6.2.2自定义活动列表项 158

6.3撰写视图控制器——SLComposeViewController 161

6.4编写自己的社交网络客户端 164

6.4.1实例:编写新浪微博客户端 168

6.4.2实例:编写Twitter客户端 175

6.4.3实例:编写Facebook客户端 178

本章小结 179

第7章 定位服务与地图应用开发 180

7.1定位服务 180

7.1.1定位服务编程 181

7.1.2地理信息反编码 185

7.1.3地理信息编码查询 187

7.1.4关于定位服务的测试 189

7.2使用iOS 6苹果地图 192

7.2.1显示地图 193

7.2.2添加标注 195

7.2.3跟踪用户位置变化 199

7.3使用程序外地图 201

7.3.1调用iOS 6苹果地图 201

7.3.2调用谷歌Web地图 205

7.4使用本地化的百度地图 206

7.4.1百度地图的安装与初始化 206

7.4.2显示地图 211

7.4.3地理信息编码与反编码 213

7.4.4添加标注点 216

本章小结 218

电子商务篇 221

第8章 发布你的促销信息——推送通知 221

8.1苹果中究竟有多少个“通知” 221

8.1.1广播通知 221

8.1.2本地通知 222

8.1.3推送通知 226

8.2配置推送通知 227

8.2.1证书签名请求 228

8.2.2配置应用推送通知 229

8.2.3生成SSL证书 229

8.2.4为SSL证书导出p12文件 231

8.3 iOS客户端编程 233

8.3.1配置Xcode工程 233

8.3.2代码实现 234

8.4推送服务端编程 236

8.4.1使用PHP实现推送服务 236

8.4.2使用Java推送服务 238

本章小结 239

第9章 报刊杂志——Newsstand应用编程 240

9.1 iOS 5中Newsstand应用 240

9.2 Newsstand应用编程 241

9.2.1配置Newsstand 241

9.2.2使用Newsstand Kit API 243

9.3实例:MyNewsstand杂志应用 245

9.3.1实例设计原型草图 245

9.3.2实例设计类图 246

9.3.3初始化杂志画面 247

9.3.4主动式下载资源 253

9.3.5后台下载资源 256

9.3.6断点续传 260

9.3.7读取杂志内容 261

本章小结 263

第10章 应用内购买 264

10.1应用内购买实例设计 265

10.2测试环境搭建 265

10.2.1添加测试用户 266

10.2.2创建App ID 267

10.2.3添加空白应用 268

10.2.4为应用添加购买产品信息 268

10.3服务器产品类型应用内购买 272

10.3.1工作流程 272

10.3.2实例:应用内购买iOS客户端 274

10.3.3实例:PHP实现的服务器端 285

本章小结 289

第11章iOS 6 Passbook应用开发 290

11.1 Passbook与Pass 291

11.1.1 Pass的5种风格 292

11.1.2 Pass的内部结构 294

11.2设计Pass 295

11.2.1 pass.json文件结构 295

11.2.2 Pass类型和字段 296

11.2.3二维条形码 299

11.2.4位置与时间 300

11.2.5本地化 300

11.2.6图标和图片的使用 301

11.3创建Pass 303

11.3.1创建Pass证书 303

11.3.2数字签名与打包Pass文件 305

11.4发布Pass 307

11.4.1 E-mail发布 307

11.4.2 Web网站发布 309

11.5 Pass Kit编程 310

11.5.1实例:MyPass实例设计与说明 311

11.5.2准备工作 311

11.5.3访问Passbook 314

11.5.4添加与替换Pass 316

11.5.5删除Pass 318

本章小结 320

实战篇 323

第12章 重构MyNotes应用——iOS网络通信中的设计模式与架构设计 323

12.1移动网络通信应用的分层架构设计 323

12.2基于委托模式实现 324

12.2.1网络通信与委托模式 324

12.2.2异步网络通信中委托模式实现分层架构设计 324

12.2.3类图 325

12.2.4时序图 327

12.2.5数据持久层代码实现 330

12.2.6业务逻辑层代码实现 334

12.2.7表示层代码实现 335

12.3基于观察者模式通知机制实现 341

12.3.1观察者模式的通知机制回顾 341

12.3.2异步网络通信中通知机制实现分层架构设计 342

12.3.3类图 342

12.3.4时序图 344

12.3.5数据持久层代码实现 347

12.3.6业务逻辑层代码实现 348

12.3.7表示层代码实现 349

本章小结 355

第13章iOS敏捷开发项目实战——价格线酒店预订iPhone客户端开发 356

13.1应用分析与设计 356

13.1.1应用概述 356

13.1.2需求分析 356

13.1.3原型设计 358

13.1.4架构设计 358

13.2 iOS敏捷开发 359

13.2.1敏捷开发宣言 360

13.2.2 iOS可以敏捷开发 360

13.2.3 iOS敏捷开发一般过程 361

13.3任务1:创建应用基本工作空间 363

13.3.1迭代1.1创建业务逻辑层工程 363

13.3.2迭代1.2创建表示层工程 364

13.4任务2:业务逻辑层开发 366

13.4.1迭代2.1编写搜索酒店的业务逻辑层类 366

13.4.2迭代2.2编写房间查询业务逻辑类 371

13.5任务3:表示层开发 376

13.5.1迭代3.1根据原型设计初步设计故事板 376

13.5.2迭代3.2搜索酒店模块 377

13.5.3迭代3.2.1选择城市视图控制器 378

13.5.4迭代3.2.2选择关键字视图控制器 382

13.5.5迭代3.2.3选择价格和日期拾取器 385

13.5.6迭代3.2.4酒店搜索视图控制器 386

13.5.7迭代3.2.5酒店搜索列表视图控制器 395

13.5.8迭代3.3房间查询模块 402

本章小结 404