主页 详情

《iOS开发指南 从零基础到App Store上架》_关东升编著_13346490_9787115324443

【书名】:《iOS开发指南 从零基础到App Store上架》
【作者】:关东升编著
【出版社】:北京:人民邮电出版社
【时间】:2013
【页数】:690
【ISBN】:9787115324443
【SS码】:13346490

最新查询

内容简介

第一部分 基础篇

第1章 开篇综述

1.1 iOS概述

1.1.1 iOS介绍

1.1.2 iOS 6断特性

1.2开发环境及开发工具

1.3本书中的约定

1.3.1案例代码约定

1.3.2图示的约定

第2章 第一个iOS应用程序

2.1创建基于nib的HelloWorld工程

2.1.1创建工程

2.1.2 Xcode中的iOS工程模板

2.1.3应用剖析

2.2基于故事板的HelloWorld工程

2.2.1使用故事板重构HelloWorld

2.2.2 nib、 xib与故事板

2.2.3故事板中的Scene和Segue

2.3应用生命周期

2.3.1非运行状态——应用启动场景

2.3.2点击Home键——应用退出场景

2.3.3挂起重新运行场景

2.3.4内存清除——应用终止场景

2.4视图生命周期

2.4.1视图生命周期与视图控制器关系

2.4.2 iOS 6 UI状态保持和恢复

2.5设置产品属性

2.5.1 Xcode中的Proj ect和Target

2.5.2设置常用的产品属性

2.6 iOS API简介

2.6.1 API概述

2.6.2如何使用API帮助

2.7小结

第3章iOS常用设计模式

3.1单例模式

3.1.1问题提出

3.1.2实现原理

3.1.3应用案例

3.2委托模式

3.2.1问题提出

3.2.2实现原理

3.2.3应用案例

3.3观察者模式

3.3.1问题提出

3.3.2实现原理

3.3.3通知机制和KVO机制

3.4 MVC模式

3.4.1 MVC模式概述

3.4.2 Cocoa Touch中的MVC模式

3.5小结

第4章UIView与控件

4.1视图“始祖”——UIView

4.1.1 UIView“家族”

4.1.2应用界面的构建层次

4.1.3视图分类

4.2标签控件和按钮控件

4.2.1标签控件

4.2.2按钮控件

4.2.3动作和输出口

4.3 TextField控件和TextV iew控件

4.3.1 TextField控件

4.3.2 TextView控件

4.3.3键盘的打开和关闭

4.3.4关闭和打开键盘的通知

4.3.5键盘的种类

4.4开关控件、滑块控件和分段控件

4.4.1开关控件

4.4.2滑块控件

4.4.3分段控件

4.5网页控件WebView

4.5.1 WebView介绍

4.5.2使用WebView构建Hybrid应用

4.6屏幕滚动控件ScrollView

4.6.1 ScrollView属性的设置

4.6.2键盘与其他控件的协同

4.7等待相关的控件与进度条

4.7.1活动指示器ActivityIndicatorV iew

4.7.2进度条ProgressView

4.8警告框和操作表

4.8.1警告框AlertView

4.8.2操作表ActionSheet

4.9工具栏和导航栏

4.9.1工具栏

4.9.2导航栏

4.10屏幕布局

4.10.1 ipad与iPhone屏幕布局

4.10.2绝对布局和相对布局

4.10.3使用AutoLayout布局

4.10.4旋转你的屏幕

4.11选择器

4.11.1日期选择器

4.11.2普通选择器

4.11.3数据源协议与委托协议

4.12 iOS 6中的集合视图

4.12.1集合视图介绍

4.12.2集合视图单元格

4.12.3数据源协议与委托协议

4.13小结

第5章 表视图

5.1概述

5.1.1表视图的组成

5.1.2表视图的相关类

5.1.3表视图分类

5.1.4单元格的组成和样式

5.1.5数据源协议与委托协议

5.2简单表视图

5.2.1创建简单表视图

5.2.2自定义单元格

5.2.3添加搜索栏

5.3分节表视图

5.3.1添加索引

5.3.2分组与静态表

5.4修改单元格

5.4.1删除和插入单元格

5.4.2移动单元格

5.5表视图UI设计模式

5.5.1分页模式

5.5.2下拉刷新模式

5.5.3 iOS 6下拉刷新控件

5.6小结

第6章 视图控制器与导航模式

6.1概述

6.1.1视图控制器的种类

6.1.2导航模式

6.1.3模态视图

6.2平铺导航

6.2.1应用场景

6.2.2基于分屏导航的实现

6.2.3基于分页导航的实现

6.3标签导航

6.3.1应用场景

6.3.2 nib实现

6.3.3故事板实现

6.4树形结构导航

6.4.1应用场景

6.4.2 nib实现

6.4.3故事板实现

6.5组合使用导航模式

6.5.1应用场景

6.5.2故事板实现

6.6小结

第7章iphone与ipad应用开发的差异

7.1概述

7.1.1应用场景差异

7.1.2设计和开发需注意的问题

7.1.3构建自适应的iphone和iPad工程

7.2 iPad专用API

7.2.1 UIPopoverController控制器

7.2.2 UISplitViewController控制器

7.2.3模态视图专用属性

7.3 Master-Detail应用程序模板

7.3.1 nib实现

7.3.2故事板实现

7.4 Utility应用程序模板

7.4.1 nib实现

7.4.2故事板实现

7.5移动平台的分层架构设计

7.5.1低耦合企业级系统架构设计

7.5.2移动平台的分层架构设计

7.5.3基于同一工程的分层

7.5.4基于一个工作空间不同工程的分层

7.6小结

第8章 应用程序设置

8.1概述

8.1.1设置

8.1.2配置

8.2应用程序设置包

8.3设置项目种类

8.3.1文本字段

8.3.2开关

8.3.3滑块

8.3.4值列表

8.3.5子界面

8.4读取设置

8.5小结

第9章 应用程序本地化

9.1概述

9.1.1本地化内容

9.1.2本地化目录结构

9.2文本信息本地化

9.2.1系统按钮和信息本地化

9.2.2应用名称本地化

9.2.3程序代码输出的静态文本本地化

9.2.4使用genstring工具

9.3 nib和故事板文件本地化

9.3.1添加本地化

9.3.2开关使用ibtool工具

9.4资源文件本地化

9.5小结

第10章 数据持久化

10.1概述

10.1.1沙箱目录

10.1.2持久化方式

10.2属性列表

10.3对象归档

10.4使用SQLite数据库

10.4.1 SQLite数据类型

10.4.2创建数据库

10.4.3查询数据

10.4.4修改数据

10.5 Core Data

10.5.1 ORM

10.5.2 Core Data堆栈

10.5.3建模和生成实体

10.5.4采用Core Data分层架构设计

10.5.5查询数据

10.5.6修改数据

10.6小结

第11章 访问通讯录

11.1概述

11.2读取联系人信息

11.2.1查询联系人记录

11.2.2读取单值属性

11.2.3读取多值属性

11.2.4读取图片属性

11.3写入联系人信息

11.3.1创建联系人

11.3.2修改联系人

11.3.3删除联系人

11.4高级API

11.4.1选择联系人

11.4.2显示和修改联系人

11.4.3创建联系人

11.5小结

第二部分 网络篇

第12章 访问Web Service

12.1概述

12.2数据交换格式

12.2.1 XML文档结构

12.2.2解析XML文档

12.2.3 JSON文档结构

12.2.4 JSON数据解码

12.3 REST Web Service

12.3.1 HTTP和HTTPS协议

12.3.2同步GET请求方法

12.3.3异步GET请求方法

12.3.4 POST请求方式

12.3.5调用REST Web Service的插入、修改和删除方法

12.4使用ASIHTTPRequest框架

12.4.1安装和配置ASIHTTPRequest框架

12.4.2同步请求

12.4.3异步请求

12.4.4使用请求队列

12.4.5上传数据

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

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

12.5.2使用等待指示器控件

12.5.3使用网络等待指示器

12.6小结

第13章 定位服务与地图应用

13.1定位服务

13.1.1定位服务编程

13.1.2地理信息反编码

13.1.3地理信息编码查询

13.1.4关于定位服务的测试

13.2使用iOS 6苹果地图

13.2.1显示地图

13.2.2添加标注

13.2.3跟踪用户位置变化

13.3使用程序外地图

13.3.1调用iOS 6苹果地图

13.3.2调用谷歌Web地图

13.4小结

第三部分 进阶篇

第14章iOS中的商业模式

14.1收费策略

14.1.1 iOS如何赚钱

14.1.2避免定价策略误区

14.1.3免费软件的艺术

14.1.4在适当的时间、适当的地点植入广告

14.1.5尝试不同的盈利模式

14.2使用苹果iAd广告

14.2.1横幅广告

14.2.2插页广告

14.2.3查看你的收入

14.3使用谷歌AdMob广告

14.3.1注册AdMob账号和管理应用

14.3.2下载谷歌AdMob Ads SDK和示例代码

14.3.3添加AdMob横幅广告

14.3.4添加AdMob插页广告

14.3.5为广告提交用户和位置信息

14.3.6搜索广告

14.3.7查看你的收入

14.4应用内购买

14.4.1概述

14.4.2测试环境搭建

14.4.3在程序中实现应用内购买

14.4.4测试应用内购买

14.5小结

第15章 找出程序中的bug——调试

15.1 Xcode调试工具

15.1.1定位编译错误

15.1.2查看和显示日志

15.1.3设置和查看断点

15.1.4调试工具栏

15.1.5输出窗口

15.1.6变量查看窗口

15.1.7查看线程

15.2日志与断言输出

15.2.1使用NSLog函数

15.2.2使用NSAssert宏

15.2.3移除NSLog和NSAssert

15.3 LLDB调试工具

15.3.1断点命令

15.3.2观察点命令

15.3.3查看变量和计算表达式命令

15.4异常堆栈报告分析

15.4.1跟踪异常堆栈

15.4.2分析堆栈报告

15.5在iOS设备上调试

15.5.1创建开发者证书

15.5.2设备注册

15.5.3创建App ID

15.5.4创建配置概要文件

15.5.5设备调试

15.6 Xcode设备管理工具

15.6.1管理设备配置概要文件

15.6.2查看设备上的应用程序

15.6.3设备控制台

15.6.4设备日志

15.7小结

第16章 基于测试驱动的iOS开发

16.1测试驱动的软件开发概述

16.1.1测试驱动的软件开发流程

16.1.2测试驱动的软件开发案例

16.1.3 iOS单元测试框架

16.2使用OCUnit测试框架

16.2.1添加OCUnit到工程中

16.2.2应用测试和逻辑测试

16.2.3编写OCUnit测试方法

16.2.4分析测试报告

16.3使用GHUnit测试框架

16.3.1添加GHUnit到工程

16.3.2编写GHUnit测试用例

16.3.3分析测试报告

16.4使用伪对象

16.4.1添加OCMock到工程

16.4.2使用OCMock对象

16.5 iOS单元测试最佳实践

16.5.1 iOS单元测试策略

16.5.2测试数据持久层

16.5.3测试业务逻辑层

16.5.4测试表示层

16.6小结

第17章 让你的程序“飞”起来——性能优化

17.1内存优化

17.1.1内存泄漏问题的解决

17.1.2查找和解决僵尸对象

17.1.3 autorelease的使用问题

17.1.4响应内存警告

17.1.5选择nib还是故事板

17.2优化资源文件

17.2.1图片文件优化

17.2.2音频文件优化

17.3延迟加载

17.3.1资源文件的延迟加载

17.3.2故事板和nib文件的延迟加载

17.4数据持久化的优化

17.4.1使用文件

17.4.2使用SQLite数据库

17.4.3使用Core Data

17.5可重用对象的使用

17.5.1表视图中的可重用对象

17.5.2集合视图中的可重用对象

17.5.3地图视图中的可重用对象

17.6并发处理与多核CPU

17.6.1主线程阻塞问题

17.6.2选择NSThread还是GCD

17.7编译器和编译参数

17.7.1 GCC、 LLVM GCC与Apple LLVM 比较

17.7.2 ARM架构

17.7.3 Optimization Level

17.8小结

第18章 管理好你的程序代码——代码版本控制

18.1概述

18.1.1版本控制历史

18.1.2基本概念

18.2 Git代码版本控制

18.2.1服务器搭建

18.2.2 Gitolite服务器管理

18.2.3 Git常用命令

18.2.4 Git分支

18.2.5 Git协同开发

18.2.6 Xcode中Git的配置与使用

18.3 GitHub代码托管服务

18.3.1创建和配置GitHub账号

18.3.2创建代码库

18.3.3派生代码库

18.3.4使用GitHub协同开发

18.3.5管理组织

18.4小结

第19章 把你的应用放到App Store上

19.1收官

19.1.1添加图标

19.1.2添加启动界面

19.1.3调整Application Target属性

19.1.4为发布进行编译

19.1.5应用打包

19.2发布流程

19.2.1创建应用及基本信息

19.2.2应用定价信息

19.2.3最后信息输入

19.2.4上传应用

19.3常见审核不通过的原因

19.4小结

第四部分 实战篇

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

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

20.2基于委托模式实现

20.2.1网络通信与委托模式

20.2.2在异步网络通信中使用委托模式实现分层架构设计

20.2.3类图

20.2.4时序图

20.2.5数据持久层的代码实现

20.2.6业务逻辑层的代码实现

20.2.7表示层的代码实现

20.3基于观察者模式的通知机制实现

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

20.3.2异步网络通信中通知机制的分层架构设计

20.3.3类图

20.3.4时序图

20.3.5数据持久层的代码实现

20.3.6业务逻辑层的代码实现

20.3.7表示层的代码实现

20.4小结

第21章iOS敏捷开发项目实战——2016里约热内卢奥运会应用开发及App Store发布

21.1应用分析与设计

21.1.1应用概述

21.1.2需求分析

21.1.3原型设计

21.1.4数据库设计

21.1.5架构设计

21.2 iOS敏捷开发

21.2.1敏捷开发宣言

21.2.2 iOS适合敏捷开发?

21.2.3 iOS敏捷开发最佳实践

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

21.4任务2:信息系统层与持久层开发

21.4.1迭代2.1:编写数据库DDL脚本

21.4.2迭代2.2:插入初始数据到数据库

21.4.3迭代2.3:编写实体类

21.4.4迭代2.4: DAO类GHUnit单元测试

21.4.5迭代2.5:编写DAO类

21.4.6迭代2.6:发布到GitHub

21.5任务3:业务逻辑层开发

21.5.1迭代3.1:比赛项目业务逻辑类GHUnit单元测试

21.5.2迭代3.2:编写比赛项目业务逻辑类

21.5.3迭代3.3:比赛日程业务逻辑类GHUnit单元测试

21.5.4迭代3.4:编写比赛日程业务逻辑类

21.5.5迭代3.5:发布到GitHub

21.6任务4:表示层开发

21.6.1迭代4.1:根据原型设计初步设计ipad故事板

21.6.2迭代4.2:根据原型设计初步设计iPhone故事板

21.6.3迭代4.3:首页模块

21.6.4迭代4.4:比赛项目模块

21.6.5迭代4.5:比赛日程模块

21.6.6迭代4.6:倒计时模块表示层

21.6.7迭代4.7:关于我们模块表示层

21.6.8迭代4.8:发布到GitHub

21.7任务5:收工

21.7.1迭代5.1:添加图标

21.7.2迭代5.2:设计和添加启动界面

21.7.3迭代5.3:植入谷歌AdMob横幅广告

21.7.4迭代5.4:性能测试与改善

21.7.5迭代5.5:发布到GitHub

21.7.6迭代5.6:在App Store上发布应用

21.8小结


书查询(www.shuchaxun.com)本网页唯一编码:
1ce26f11564f0aea75eaa35027ab7650#4cf3ba06b5cab58c0aa2b5afa1036a67#164418505#iOS开发指南从零基础到App Store上架_13346490.zip