第1章 关于iPhone 1
1.1 iPhone是苹果公司创新的产物 1
1.2 iPhone开创手机应用商店新纪元 1
1.3 iPhone屏幕 1
1.4 iPhone键盘 2
1.5 iPhone显示效果 2
1.6 iPhone用户体验 2
1.7 iPhone只有一个按键 3
1.8 iPhone是一款纯Touch机 3
1.9 多点触摸(Multi-Touch) 3
1.10 当前窗口只能有一个 3
1.11 如何排列主屏图标 4
1.12 如何删除应用 4
第2章 关于Mac操作系统(Mac OS) 5
2.1 Mac OS概述 5
2.2 Mac OS版本演变 5
2.3 iPhone开发一定需要苹果电脑吗 6
2.4 Mac OS X也可运行在Windows PC上 6
2.4.1 安装前的准备工作 7
2.4.2 安装过程中的磁盘分区 7
2.5 小结 8
第3章 iPhone开发环境的配置 9
3.1 确认Mac OS X版本 9
3.2 注册Apple ID 9
3.3 SDK下载与安装 10
3.3.1 下载iPhone SDK 10
3.3.2 安装iPhone SDK 11
3.4 注册IDP会员 13
第4章 iPhone应用程序开发工具 14
4.1 Xcode 14
4.2 Interface builder 14
4.3 Cocoa Touch 15
第5章 iPhone开发语言(Objective-C) 16
5.1 Objective-C概述 16
5.2 Objective-C是C语言的超集 16
5.3 类与实例 17
5.4 类 17
5.5 属性(property) 18
5.6 委托(Delegation) 18
5.7 对象 18
5.8 方法(method) 18
5.8.1 方法的声明 19
5.8.2 方法的调用 19
5.9 输出口(Outlet) 19
5.10 操作(Action) 20
5.11 什么是框架(Framework) 20
5.12 UIKit类图 21
5.13 编程规范(Coding Standard) 22
5.14 NSString 22
5.15 dealloc 23
5.16 小结 23
第6章 创建一个简单的应用 24
6.1 启动Xcode 24
6.2 创建工程 25
6.3 Xcode工程窗口 26
6.3.1 应用委托类(App Delegate) 28
6.3.2 Main Window.xib 29
6.3.3 Main.m文件 29
6.4 编译配置和运行 30
6.5 小结 31
第7章 iPhone常用控件 32
7.1 按钮(Button) 32
7.1.1 如何添加一个按钮(Button) 32
7.1.2 按钮检查器 33
7.1.3 按钮的属性 35
7.1.4 按钮的实例方法 36
7.1.5 一个关于按钮的应用程序 36
7.2 标签(Label) 39
7.2.1 标签检查器 40
7.2.2 标签的属性 40
7.2.3 一个关于标签的应用程序 41
7.3 文本框(Text Field) 42
7.3.1 文本框属性 43
7.3.2 文本框类 44
7.3.3 一个关于文本框的应用程序 44
7.4 图像视图 48
7.4.1 图像视图属性 48
7.4.2 图像的属性 50
7.4.3 图像的实例方法 50
7.4.4 设计一个摇骰子应用 50
7.5 如何添加应用图标 54
7.5.1 应用图标的格式要求 54
7.5.2 更改Info.plist设置 54
7.6 如何隐去状态栏 56
7.7 如何显示应用程序的启动界面 57
7.7.1 添加图片资源 57
7.7.2 设置启动界面的显示时间 58
7.8 小结 58
第8章 基于Window-based Application的设计 59
8.1 创建工程 59
8.2 创建视图控制器类实例 61
8.3 添加视图 62
8.4 视图控制器与视图的关联 63
8.5 代码设计 63
8.6 视图控制器与视图的关联问题 66
8.7 小结 67
第9章 基于标签栏的应用 68
9.1 一个基本的标签栏应用 69
9.1.1 创建标签栏工程 69
9.1.2 标签栏控制器 69
9.1.3 为标签添加图标 71
9.2 在标签栏应用中实现导航功能 72
9.2.1 将视图控制器类改为导航控制器类 72
9.2.2 为第一个标签创建视图 73
9.2.3 创建视图和视图控制器 74
第10章 表视图应用 76
10.1 什么是表视图和表视图单元 77
10.2 创建动态表视图单元 77
10.2.1 为表视图单元添加文本标签 77
10.2.2 设置表视图单元高度 78
10.2.3 设置文本标签的宽度 79
10.2.4 表视图的数据来源 81
10.2.5 为表单元添加图像 81
第11章 iPhone多点触摸技术的应用 82
11.1 UIResponder类 82
11.2 触摸顺序(Touch Sequence) 83
11.3 UITouch类 84
11.3.1 触摸状态(Touch Phase) 84
11.3.2 与触摸相关的实例方法 84
11.4 UIEvent类 85
11.5 一个单点触摸应用 86
11.5.1 添加图像视图 86
11.5.2 添加图像输出口和方法 87
11.6 小结 88
第12章 iPhone加速计的应用 90
12.1 加速度 90
12.2 加速计 90
12.3 加速计的技术原理 91
12.4 加速类 91
12.5 加速计类 91
12.6 UIAccelerometerDelegate协议 91
12.7 实例方法 92
12.8 小结 92
第13章 iPhone程序的调试方法 93
13.1 模拟器与真机的运行环境不同 93
13.2 模拟器调试方法 94
13.2.1 模拟器使用方法 94
13.2.2 用NSLog输出调试信息 95
13.2.3 断点调试 96
132.4 GDB调试 97
13.3 iPhone真机调试 98
第14章 Cute iClock娱乐应用程序设计与实现 100
14.1 时钟程序概述 100
14.2 创建时钟应用工程 101
14.3 添加资源文件 101
14.3.1 添加图片资源 101
14.3.2 添加声音资源 102
14.3.3 添加库文件 102
14.3.4 添加接口文件 103
14.4 时钟逻辑功能的实现 104
14.5 小结 164
第15章 一个基于OpenGL的摇骰子游戏 165
15.1 OpenGL概述 166
15.1.1 OpenGL ES概述 166
15.1.2 OpenGL ES与iPhone游戏开发 167
15.2 摇骰子游戏功能设计 167
15.3 创建游戏工程 167
15.4 通过OpenGL ES显示游戏场景 176
15.5 搭建游戏的基本框架 182
15.5.1 画图类的实现 184
15.5.2 接口封装文件的实现 187
15.5.3 应用程序类的实现 188
15.5.4 子窗口类的实现 190
15.5.5 纹理类的实现 192
15.5.6 字体类的实现 200
15.6 摇骰子游戏的实现 208
15.6.1 重写画图类 208
15.6.2 重写应用类 211
15.6.3 如何让骰子晃动起来 220
15.7 如何添加背景音乐 224
15.8 代码的优化 232
15.9 小结 239
第16章 iPhone应用程序的签名及其发布 241
16.1 IDP申请 241
16.2 应用程序的签名与真机验证 244
16.2.1 应用程序为何需要签名 244
16.2.2 应用程序在真机上的验证 244
16.2.3 应用程序的签名过程 245
16.2.4 签名遇到的问题及其解决方法 247
16.2.5 生成可发布的应用程序 251
第17章 如何将应用发布到App Store上 253
17.1 应用发布的准备工作 253
17.2 iPhone应用发布的入口 254
17.3 发布新应用到App Store 254
第18章 如何注册一个App Store免费账户 258
18.1 创建账户 258
18.2 下载应用到PC本地 262
18.3 iPhone同步注意事项 262
18.4 从PC同步到iPhone手机 262
参考文献 265