内容简介
第1章 玩转iPhone
1.1 iPhone介绍
1.1.1 iPhone是一款革命性的移动电话
1.1.2 iPhone是一款宽屏iPod
1.1.3 iPhone是一款创新的互联网通信设备
1.1.4 iPhone的先进传感器
1.2 全球销售最火爆的手机——iPhone
1.3 iPhone完美体验
1.4 iPhone的功能及其扩展
1.5 小结
第2章 iPhone软件创意赏析
2.1 重力加速计
2.1.1 摇动
2.1.2 重力感应
2.2 屏幕摩擦创意
2.3 话筒
2.4 定位(GPS、指南针)
2.5 小结
第3章 苹果软件商店(App Store)及应用发布
3.1 本章资料来源
3.2 App Store的昨天、今天和明天
3.2.1 App Store的诞生
3.2.2 早行一载,领先数光年
3.2.3 App Store未来展望
3.3 用iTunes和iPhone浏览App Store
3.3.1 iTunes的使用
3.3.2 用iTunes购买软件并与手机同步
3.3.3 通过iPhone内置App Store直接购买软件
3.4 App Store软件分类原则
3.5 申请个人和企业开发账户
3.5.1 申请表、缴费和申请EIN(美国雇主编码)
3.5.2 初试iTunesConnect界面
3.5.3 生成并下载开发者Profile
3.6 安装Profile和真机调试
3.7 软件编译发布流程
3.7.1 获取发布Profile(Distribution Profile)
3.7.2 软件编译实践
3.7.3 程序相关文案和图片要求
3.7.4 iTunes Connect软件发布实践
3.8 什么样的程序会被拒绝?摸透苹果的脾气
3.8.1 明文规定
3.8.2 不成文的规矩
3.8.3 前车之鉴
3.9 分析软件销售情况,赚回第一桶金
3.9.1 软件销售状况统计
3.9.2 苹果的分成和支付办法
3.10 小结
第4章 iPhone开发概述
4.1 iPhone OS简介
4.1.1 iPhone OS的功能
4.1.2 iPhone OS的系统架构
4.1.3 iPhone OS的版本
4.2 iPhone SDK介绍
4.2.1 什么是iPhone SDK
4.2.2 iPhone SDK所包含的内容
4.2.3 iPhone SDK的下载及安装
4.3 iPhone开发框架
4.4 iPhone程序设计原则
4.5 与其他手机系统的比较
4.6 小结
第5章 Mac OS X入门
5.1 Mac OS X操作系统基础知识
5.2 Mac OS X系统安装
5.2.1 Mac OS X安装前的准备工作
5.2.2 Mac OS X安装步骤
5.3 Mac OS X的文件系统
5.3.1 Mac OS X系统主文件夹区域
5.3.2 Mac OS X主要文件系统格式
5.4 Mac OS X的系统结构
5.5 Mac OS X常用命令简介
5.5.1 进入命令行界面
5.5.2 命令行帮助系统
5.5.3 常用命令简介
5.6 小结
第6章 iPhone开发环境搭建与工具使用
6.1 Cocoa
6.1.1 什么是Cocoa
6.1.2 Cocoa框架
6.1.3 Cocoa开发环境
6.2 Xcode
6.2.1 Xeode简介
6.2.2 Xcode的使用
6.2.3 Xcode的调试工具使用
6.3 Interface Builder
6.3.1 Interface Builder简介
6.3.2 nib文件介绍
6.3.3 使用Interface Builder创建一个简单程序
6.4 Instruments介绍
6.5 Shark介绍
6.6 Dashcode介绍
6.7 Simulator介绍
6.8 小结
第7章 Objective-C语言
7.1 Objective-C语言概述
7.1.1 简单的Objective-C程序
7.1.2 解析Hello Objective-C程序
7.2 面向对象编程基础知识
7.2.1 认识对象
7.2.2 一个Objective-C的类
7.2.3 数据封装和存取方法
7.2.4 对象的实例化
7.3 继承
7.3.1 继承的基本知识
7.3.2 对继承的扩展
7.3.3 方法的覆盖
7.3.4 抽象类
7.4 内存管理
7.4.1 引用计数
7.4.2 自动释放
7.4.3 内存管理规则
7.4.4 垃圾回收
7.5 Foundation框架基础知识
7.5.1 Foundation框架简介
7.5.2 字符串NSString类
7.5.3 NSString类的方法
7.5.4 可变字符串
7.5.5 集合简介
7.5.6 数组
7.5.7 可变数组
7.5.8 字典
7.5.9 可变字典
7.6 面向对象编程进阶知识
7.6.1 存取器方法
7.6.2 对象的初始化
7.6.3 变量的作用域
7.6.4 id类型
7.6.5 @try异常处理
7.7 类目与协议
7.7.1 类目
7.7.2 协议
7.8 小结
第8章 iPhone HelloWorld应用程序
8.1 HelloWorld——开启iPhone开发之旅
8.1.1 新建一个iPhone工程
8.1.2 填写工程的信息
8.1.3 编程实现
8.1.4 运行项目
8.2 调试项目
8.2.1 设置断点
8.2.2 Debug项目
8.2.3 断点调试
8.3 小结
第9章 VI设计与开发
9.1 iPhone用户界面设计
9.1.1 iPhone用户界面设计概述
9.1.2 iPhone用户界面设计原则
9.1.3 iPhone用户界面结构介绍
9.2 Windows和Views
9.2.1 概述
9.2.2 View的架构及坐标系
9.2.3 如何创建View层次结构
9.2.4 实时改变View的属性
9.3 各种功能条
9.3.1 概述
9.3.2 状态条
9.3.3 导航条
9.3.4 工具条
9.3.5 Tab bar
9.3.6 范例
9.4 弹出式视图
9.4.1 概述
9.4.2 Alerts
9.4.3 Action Sheets
9.4.4 Modal Views
9.4.5 范例
9.5 卷动视图
9.5.1 概述
9.5.2 表视图
9.5.3 文本视图
9.5.4 网页视图
9.6 SDK自带的其他界面元素简介
9.6.1 概述
9.6.2 Activity Indicators
9.6.3 Date and time pickers
9.6.4 Page Indicators
9.6.5 Pickers
9.6.6 Progress Views
9.6.7 Rounded Rectangle Buttons
9.6.8 Search Bars
9.6.9 Segmented Controls
9.6.10 Sliders
9.6.11 Text Fields
9.7 按钮、图标和图片
9.7.1 系统内置按钮和图标
9.7.2 自定义图标图片
9.7.3 程序图标和启动画面
9.8 键盘和输入法
9.8.1 概述
9.8.2 WebView中的键盘
9.8.3 文本输入控件弹出的键盘
9.9 小结
第10章 处理基本交互
10.1 MVC范型
10.2 视图控制器
10.2.1 视图控制器类
10.2.2 使用视图控制器
10.3 响应交互事件
10.3.1 Outlet和Action
10.3.2 nib/xib文件
10.3.3 使用nib文件和视图控制器
10.3.4 通过代码指定事件响应
10.4 范例
10.4.1 创建项目
10.4.2 创建视图控制器
10.4.3 应用程序委托
10.4.4 编辑用户界面(nib/xib文件)
10.4.5 附加功能
10.5 小结
第11章 多视图应用开发
11.1 多视图应用概述
11.2 一个简单的多视图应用
11.2.1 模态视图控制器
11.2.2 范例
11.3 使用Tab Bar管理多视图
11.3.1 创建UITabBarController
11.3.2 为U1TabBarController创建视图控制器
11.3.3 范例
11.4 使用Navigation管理层次结构的视图
11.4.1 创建UINavigationController
11.4.2 为UINavigationController创建视图控制器
11.4.3 为Navigation Item创建自定义按钮和视图
11.4.4 使用编辑和完成按钮
11.4.5 使用表格呈现层次结构的数据
11.4.6 与Tab Bar配合
11.4.7 范例
11.5 使用Segmented Control切换视图
11.6 使用Page Control实现多页面
11.7 小结
第12章 事件处理
12.1 事件的产生和分发
12.1.1 基本概念
12.1.2 事件的分发
12.2 事件的产生和分发
12.2.1 事件处理函数
12.2.2 创建可拖动的视图
12.3 手势
12.3.1 轻扫
12.3.2 捏合
12.4 小结
第13章 iPhone数据持久化
13.1 文件管理
13.1.1 概述
13.1.2 文件路径结构
13.1.3 应用程序的备份、还原
13.1.4 文件路径的获取
13.1.5 文件操作
13.1.6 文件内容的读写
13.2 Application preferfences
13.2.1 概述
13.2.2 界面介绍
13.2.3 settings bundle适用范围
13.2.4 settings bundle介绍
13.2.5 Settings Bundle的使用
13.2.6 访问Application preferfences的值
13.3 SQLite
13.3.1 概述
13.3.2 SQLite基本知识
13.3.3 创建包含SQLite的项目
13.4 小结
第14章 iPhone多媒体开发介绍
14.1 图片
14.1.1 图片相关类介绍
14.1.2 iPhone图片浏览器开发实例
14.2 声音
14.2.1 iPhone操作系统声音相关API栈
14.2.2 理解Audio Session
14.2.3 为图片浏览器加上背景音乐
14.3 视频
14.3.1 如何播放视频
14.3.2 为电子相框程序加上视频播放功能
14.4 小结
第15章 动画与2D、3D绘图
15.1 概述
15.2 Core Animation动画
15.3 Quartz 2D绘图
15.3.1 是什么Quartz 2D
15.3.2 开始编程之前要知道的概念
15.3.3 实例
15.4 iPhone OpenGL ES编程
15.4.1 OpenGL ES基础
15.4.2 实例
15.5 小结
第16章 网络开发
16.1 iPhone网络编程概述
16.2 套接字编程
16.2.1 关于套接字
16.2.2 CFSocket
16.2.3 CFStream
16.2.4 范例(套接字TCP聊天程序)
16.3 HTTP/FTP连接
16.3.1 CFHTTP
16.3.2 CFFTP
16.3.3 NSURLConnection
16.3.4 范例(Web Service应用)
16.4 网络连接诊断
16.4.1 检查网络状态
16.4.2 使用CFNetDiagnostics
16.5 Bonjour服务
16.5.1 发布服务
16.5.2 浏览服务
16.5.3 浏览域
16.5.4 使用服务
16.6 点对点(Peer-to-Peer)连接
16.6.1 Session和Peer
16.6.2 公布服务和建立连接
16.6.3 交换数据
16.6.4 断开连接
16.6.5 Peer Picker
16.7 小结
第17章 硬件编程
17.1 概述
17.2 照相机和照片库
17.2.1 图像选取器(image picker)的使用
17.2.2 编写包含图像选取器的程序
17.3 加速计
17.3.1 加速计简介
17.3.2 iPhone加速计API简介
17.3.3 访问加速计
17.4 GPS和指南针
17.4.1 获取当前位置
17.4.2 获取方向
17.4.3 在地图上显示并标注
17.5 小结
第18章 实用API简介
18.1 剪切、复制和粘贴
18.1.1 千呼万唤始出来的cut、copy & paste
18.1.2 复制粘贴API的使用和注意事项
18.1.3 范例
18.2 Maps API
18.2.1 Maps API的解放之路
18.2.2 怎样使用Maps API
18.2.3 Maps API示例
18.3 通讯录API
18.3.1 通讯录API能干什么
18.3.2 如何读取通讯录
18.4 用mail编写界面发E-mail
18.4.1 导出内容的最简单方式——E-mail
18.4.2 在软件中调用iPhone自带的mail
18.5 通过API访问iPod媒体库
18.5.1 Media Lib API简介
18.5.2 通过Media Lib API给程序添加背景音乐
18.6 小结
第19章 iPhone多线程开发
19.1 线程简介
19.1.1 线程的含义
19.1.2 为什么要使用多线程
19.1.3 多线程的基本知识
19.2 iPhone创建和管理线程
19.2.1 Cocoa中的线程相关的类
19.2.2 iPhone线程实现方式
19.3 iPhone线程安全性
19.3.1 “锁”住线程
19.3.2 关于NSCondition
19.4 iPhone多线程编程实战演习
19.4.1 定时启动,倒计时开始
19.4.2 关于RunLoop
19.4.3 创建NSTimer对象
19.4.4 定时器实例代码——ViewFlash
19.5 小结
第20章 应用程序本地化
20.1 本地化程序简介
20.1.1 本地化的概念
20.1.2 程序的语言匹配
20.2 字符串文件的使用
20.2.1 字符串文件的内容和作用
20.2.2 使用NSLocalizedString宏
20.2.3 生成字符串文件
20.3 其他资源的本地化
20.3.1 本地化nib文件
20.3.2 本地化图片
20.3.3 本地化setting bundles
20.4 小结
第21章 iPhone测试相关
21.1 单元测试
21.2 Xcode中如何进行iPhone单元测试
21.3 调试
21.3.1 设置断点,查看内存状态
21.3.2 查看console和Crash log
21.4 程序优化
21.4.1 Instruments和shark工具介绍
21.4.2 用Instruments查找内存泄露
21.4.3 Shark使用实例
21.5 小结
第22章 iPhone开发案例1——计算器
22.1 计算器功能需求分析
22.2 计算器UI设计
22.3 计算器控制逻辑设计
22.3.1 计算器流程概述
22.3.2 模块设计
22.3.3 UI交互设计
22.3.4 运算逻辑设计
22.4 数据存储功能的实现
22.5 试用计算器
22.6 小结
第23章 iPhone开发案例2——看动画记英语字母
23.1 案例展示
23.2 边看边学——看动画学字母
23.3 相关API的使用
23.4 逻辑设计
23.4.1 创建应用程序
23.4.2 导入图像声音资源
23.5 实现图像视图
23.5.1 确定输出口
23.5.2 构建界面
23.5.3 关联输出口
23.5.4 指定操作
23.6 具体代码实现
23.7 小结
第24章 iPhone开发案例3——Visual Tips
24.1 需求分析
24.2 UI设计
24.3 程序流程设计
24.3.1 数据结构
24.3.2 图片存储
24.4 程序具体实现
24.4.1 RootViewController的实现
24.4.2 AddViewController的实现
24.4.3 DetailsViewController的实现
24.4.4 RootViewController的其他功能
24.4.5 数据保存
24.5 界面优化
24.6 小结
第25章 iPhone发展与展望
25.1 iPhone开发未来之路
25.1.1 预测苹果公司对iPhone平台的战略
25.1.2 来自其他厂家的竞争
25.2 iPhone App Store商业模式的发展
25.2.1 苹果vs.第三方软件开发商
25.2.2 在雷同软件面前如何立于不败之地
25.3 iPhone移动开发与应用发展趋势
25.3.1 iPhone用户需要什么
25.3.2 开发前景