iPhone开发秘籍.pdf

iPhone开发秘籍.pdf
 

书籍描述

编辑推荐
《iPhone开发秘籍(第2版)》:
iPhone开发的重量级参考书
揭示官方文档未详述的细节
代码示例清晰易懂
想要为iPhone和iPod touch构建应用吗?是否已投身iPhone应用开发之列,并想迅速提升自己的功力?《iPhone开发秘籍(第2版)》将为你提供专家级的指导,带你领略绝妙的代码示例!
《iPhone开发秘籍(第2版)》在第一版的基础上进行了全面修订和大量扩充,当之无愧地成为iPhone开发的必备佳作。《iPhone开发秘籍(第2版)》面向已经熟悉ObjectiVe-C、Xcode和C0coa框架的中高级iPhone和Mac开发人员。并简单介绍TObjective-C、Xcode和Inte rface Builder-以便没有这些语言(或工具)使用经验的开发人员也能够快速融入Mac/iPhone世界。《iPhone开发秘籍(第2版)》这一版新增内容主要包括:
使用iPhone SDK设计和定制界面
使用手势、触摸和其他高级界面功能
充分挖掘表、视图、视图控制器和动画的潜力
使用进度条、状态栏更新和其他指示器
使用推送通知功能发送消息
用MediaKit播放音频与视频
使用地址簿、Core Locatjon和传感器
连接网络和Web服务
使MapKit~Google Mobile Maps嵌入地图
使用GameKit构建多人游戏
使用Core Data构建数据驱动的应用
使用StoreKit开发应用内购买的功能与服务
使用辅助功能构建残障人士可访问的应用

媒体推荐
“本书物超所值!如果你正在编写iPhone应用,它将让你大大节省开发时间。Erica在书中给出了大量新颖易懂的示例。演示了基本的iPhorle开发技巧。并展示了很多苹果公司官方文档未曾提及的特殊效果。”
  ———Tim BLirks。TootSweet软件公司iPhorle软件开发人员
“Erica Sadun的专业技术绝对不负Addison-Wesley的盛名。本书是关于iPhone开发的全面指南。不论是初学者还是有经验的开发人员都能从中受益。丰富的代码示例和屏幕截图使读者更易理解书中大量的提示和技巧。”
  ———Jacqui Cheng。
著名科技新闻网站Ars Technica副主编
“我们欣赏书中的代码,但同样深深折服于Erica掌控主题和传达信息的能力:文风亲切又有技术深度。这将是iPhorIe开发人员的必备书籍。”
  ——Daniel Pasco。Black Pixel Lumlnancee首席开发人员
兼首席执行官
“Erica的书确实是Cocoa Touch开发人员的绝佳资源。本书内容远远超过了官方文档的内容。作者千方百计让开发人员更深入地理解iPhone OS,揭示了这个令人难以置信的移动平台背后的秘密。”
  ——John Zorko。Mobile Devices公司资深软件工程师

作者简介
作者:(美国)萨丹(Erica Sadun) 译者:张彩霞 高颖 易磊 等

萨丹(Erica Sadun),著名iPhone技术专家,畅销书作者。佐治亚理工学院计算机科学博士。拥有多年Apple开发经验。著有30多本技术书籍。涉及编程、数字媒体、网站设计和数码摄影等多个领域。Erica开发了十多个本地应用。他常在其iPhone编程博客发表些极有见地的文章。

目录
第1章 iphone sdk简介 1
1.1 iphone开发人员计划 1
1.1.1 在线开发人员计划 1
1.1.2 标准开发人员计划 2
1.1.3 企业开发人员计划 2
1.1.4 大学开发人员计划 2
1.1.5 注册 2
1.2 开始 2
1.2.1 下载sdk 2
1.2.2 开发设备 3
1.2.3 模拟器的限制 4
1.2.4 tethering 4
1.3 理解型号差异 5
1.3.1 摄像头 5
1.3.2 扬声器和麦克风 5
1.3.3 手机 6
1.3.4 core location的差异 6
1.3.5 振动支持和接近传感器 6
1.3.6 处理器速度 6
1.3.7 opengl es 7
1.4 平台限制 7
1.4.1 存储限制 7
1.4.2 数据访问限制 7
1.4.3 内存限制 7
1.4.4 交互限制 8
1.4.5 电量限制 8
1.4.6 应用程序限制 8
1.4.7 用户行为限制 9
1.5 sdk限制 9
1.6 使用开发人员门户 9
1.6.1 建立团队 10
1.6.2 请求证书 10
1.6.3 注册设备 11
1.6.4 注册应用程序标识符 11
1.6.5 设置 12
1.7 组建iphone项目 12
1.7.1 iphone应用程序的主干 13
1.7.2 main.m 14
1.7.3 应用程序委托 15
1.7.4 视图控制器 16
1.7.5 关于本书示例代码的说明 16
1.8 iphone应用程序组件 17
1.8.1 应用程序文件夹层次结构 17
1.8.2 可执行文件 17
1.8.3 info.plist文件 17
1.8.4 图标和默认图像 19
1.8.5 nib文件 20
1.8.6 应用程序束中不存在的文件 20
1.8.7 ipa归档 20
1.8.8 沙盒 20
1.9 编程范例 21
1.9.1 面向对象编程 21
1.9.2 模型-视图-控制器 22
1.10 小结 27

第2章 构建第一个项目 28
2.1 创建新项目 28
2.2 用模板构建hello world应用程序 29
2.2.1 创建新项目 29
2.2.2 project窗口 30
2.2.3 detail窗格 31
2.2.4 编辑器窗口 32
2.2.5 查看项目 32
2.2.6 打开视图控制器.xib 33
2.2.7 编辑视图 34
2.2.8 运行应用程序 34
2.3 使用模拟器 35
2.4 极简单的hello world 36
2.4.1 浏览sdk api 38
2.4.2 将interface builder文件转换成objective-c代码 39
2.5 使用调试器 41
2.5.1 设置断点 41
2.5.2 打开调试器 41
2.5.3 运行程序 41
2.5.4 查看标签 42
2.5.5 设置另一个断点 42
2.5.6 使用文本消息 43
2.5.7 移动clear log按钮 43
2.5.8 启用zombie 44
2.6 内存管理 45
2.6.1 泄漏 45
2.6.2 缓存 45
2.7 秘诀:使用instruments检测内存泄漏 46
2.8 秘诀:使用instruments监视缓存对象的内存分配 48
2.9 使用clang静态分析器 50
2.10 针对iphone进行构建 51
2.10.1 安装开发配置 51
2.10.2 编辑应用程序标识符 51
2.10.3 设置code signing identity 52
2.10.4 编译和运行hello world应用程序 53
2.10.5 对编译后的应用程序签名 53
2.11 从xcode到iphone:organizer interface 54
2.11.1 projects and sources列表 54
2.11.2 devices列表 55
2.11.3 iphone development tools列表 55
2.11.4 summary选项卡 55
2.11.5 console选项卡 56
2.11.6 crash logs选项卡 56
2.11.7 screenshot选项卡 57
2.12 使用编译器指令 57
2.12.1 获得特定于iphone的定义 58
2.12.2 运行时检查 58
2.12.3 记忆标记 59
2.12.4 折叠方法 60
2.13 针对发布进行构建 60
2.14 清除构建 61
2.14.1 针对app store进行编译 62
2.14.2 调试app store上传 63
2.15 针对临时发布进行构建 64
2.15.1 注册设备 64
2.15.2 构建临时配置 64
2.15.3 在项目中添加授权文件 64
2.15.4 在设置中添加授权文件 64
2.15.5 构建临时应用程序 65
2.15.6 为临时发布添加图片 65
2.16 定制xcode标识 66
2.17 创建自定义xcode模板 66
2.17.1 覆盖com.yourcompany 67
2.17.2 构建其他模板 67
2.18 并排查看代码 68
2.19 小结 69

第3章 objective-c训练营 70
3.1 objective-c编程语言 70
3.2 类与对象 70
3.2.1 创建对象 72
3.2.2 内存分配 72
3.2.3 释放内存 73
3.3 方法、消息和选择器 73
3.3.1 动态类型检查 74
3.3.2 继承方法 75
3.3.3 声明方法 76
3.3.4 实现方法 76
3.3.5 类方法 78
3.3.6 快速枚举 78
3.4 类层次结构 79
3.5 日志信息 79
3.6 属性 81
3.6.1 点表示法 81
3.6.2 属性与内存管理 81
3.6.3 创建属性 82
3.6.4 创建自定义的取值方法和赋值方法 83
3.6.5 属性的特性 84
3.7 简单的内存管理 85
3.7.1 创建对象 85
3.7.2 创建自动释放的对象 86
3.7.3 自动释放对象的生命周期 87
3.7.4 保留自动释放的对象 87
3.7.5 已保留属性 87
3.7.6 高保留计数 89
3.7.7 创建对象的其他方式 90
3.7.8 释放对象 91
3.8 创建单例 93
3.9 类别(扩展类) 93
3.10 协议 94
3.10.1 定义协议 95
3.10.2 合并协议 95
3.10.3 增加回调 95
3.10.4 声明可选回调 96
3.10.5 实现可选回调 96
3.10.6 符合协议 97
3.11 foundation类 97
3.11.1 字符串 98
3.11.2 数字与日期 101
3.11.3 集合 103
3.12 补充内容:消息转发 107
3.12.1 实现消息转发 108
3.12.2 使用转发消息 109
3.12.3 思路整理 109
3.12.4 超级简单的转发 110
3.13 小结 110

第4章 设计界面 111
4.1 uiview和uiwindow 111
4.1.1 显示数据的视图 111
4.1.2 做出选择的视图 112
4.1.3 控件 112
4.1.4 表格和拾取器 113
4.1.5 栏 113
4.1.6 进度与活动 114
4.2 uiviewcontroller 114
4.2.1 uiviewcontroller 114
4.2.2 uinavigationcontroller 115
4.2.3 uitabbarcontroller 115
4.2.4 表格控制器 115
4.2.5 地址簿控制器 116
4.2.6 uiimagepickercontroller 116
4.2.7 邮件撰写 116
4.2.8 gkpeerpickercontroller 116
4.2.9 media player控制器 117
4.3 视图设计几何学 117
4.3.1 状态栏 117
4.3.2 导航栏、工具栏和选项卡栏 118
4.3.3 键盘和拾取器 119
4.3.4 文本字段 120
4.3.5 uiscreen类 120
4.4 构建界面 120
4.5 实战演练:使用ib构建温度单位转换器 121
4.5.1 新建项目 121
4.5.2 添加媒体 121
4.5.3 interface builder 121
4.5.4 编辑导航栏 122
4.5.5 替换主视图 123
4.5.6 启用仿真元素 123
4.5.7 创建图像背景 123
4.5.8 添加标签和视图 123
4.5.9 测试界面 124
4.5.10 添加出口和动作 124
4.5.11 检查新类头 125
4.5.12 添加连接 126
4.5.13 获取紫色 126
4.5.14 定义转换方法 127
4.5.15 运行应用程序 127
4.6 实战演练:手动构建温度单位转换器界面 127
4.7 实战演练:创建混合转换器 130
4.7.1 清理基本模板 131
4.7.2 通过.xib添加新视图控制器类 131
4.7.3 设计界面 131
4.7.4 编辑视图控制器实现 132
4.7.5 编辑main.m 132
4.7.6 运行应用程序 133
4.8 实战演练:直接从代码加载.xib文件 133
4.8.1 清理.xib 134
4.8.2 更新loadview 134
4.9 针对旋转进行设计 134
4.10 启用旋转 135
4.11 自动调整大小 136
4.11.1 自动调整大小示例 136
4.11.2 评估自动调整大小选项 138
4.12 移动视图 138
4.13 交换视图 141
4.14 补充内容:6个有用的interface builder技巧 142
4.15 小结 143

第5章 使用视图控制器 144
5.1 使用导航控制器开发 144
5.1.1 设置导航控制器 144
5.1.2 推入和弹出视图控制器 145
5.1.3 导航项类 145
5.1.4 模态演示 146
5.2 实用工具函数 146
5.3 秘诀:构建一个简单的双项菜单 147
5.4 秘诀:添加一个分段控件 149
5.5 秘诀:在视图控制器之间导航 150
5.6 秘诀:使用创意弹出选项 152
5.6.1 加载一个视图控制器数组 152
5.6.2 推入临时视图 152
5.7 秘诀:演示一个自定义模态信息视图 153
5.8 秘诀:选项卡栏 155
5.9 秘诀:记住选项卡状态 157
5.10 补充点:interface builder和选项卡栏控制器 160
5.11 小结 161

第6章 组合视图和动画 162
6.1 视图层次结构 162
6.2 秘诀:建立视图层次结构树 163
6.3 秘诀:查询子视图 164
6.4 管理子视图 166
6.4.1 添加子视图 166
6.4.2 重新排序和删除子视图 166
6.4.3 视图回调 166
6.5 秘诀:标记和检索视图 167
6.6 秘诀:命名视图 168
6.7 视图的几何特征 172
6.7.1 框架 172
6.7.2 变换 173
6.7.3 坐标系 173
6.8 秘诀:视图框架的处理 173
6.8.1 调整大小 174
6.8.2 cgrect和中心 175
6.8.3 其他实用工具方法 176
6.9 秘诀:移动带边界的视图到任意位置 179
6.10 秘诀:视图变形 180
6.11 显示和交互特性 183
6.12 uiview动画 183
6.12.1 建立uiview动画块 184
6.12.2 动画回调 184
6.13 秘诀:视图的淡入和淡出 185
6.14 秘诀:视图交换 186
6.15 秘诀:翻转视图 187
6.16 秘诀:使用core animation transitions 188
6.17 秘诀:一般的core animation调用 190
6.18 翻页过渡 192
6.19 秘诀:当视图显示时反弹视图 193
6.20 秘诀:图像视图动画 195
6.21 补充内容:给视图添加映射 196
6.22 小结 199

第7章 图像处理 201
7.1 秘诀:查找和加载图像 201
7.1.1 读取图像数据 201
7.1.2 加载图像文件 203
7.2 秘诀:从iphone相册访问照片 205
7.2.1 使用图像拾取器 206
7.2.2 添加2.x支持 206
7.2.3 添加3.1支持 206
7.2.4 拾取视频 206
7.3 秘诀:选择和定制相册中的图像 208
7.4 秘诀:拍摄照片并将照片写到相册上 210
7.5 秘诀:将图片保存到documents文件夹 212
7.6 秘诀:通过电子邮件发送图片 213
7.7 秘诀:捕捉定时拍摄的照片 214
7.8 秘诀:使用定制摄像头覆盖图 216
7.9 秘诀:在可滚动视图中显示图像 218
7.10 秘诀:创建多图像分页滚动 220
7.11 秘诀:从头开始创建新图像 221
7.12 秘诀:构建图像缩略图 224
7.13 调整照片方向 227
7.14 捕捉屏幕截图 229
7.15 秘诀:直接处理位图 230
7.15.1 在位图上下文中绘制 230
7.15.2 应用图像处理 232
7.15.3 图像处理实况 233
7.16 补充内容:灰度模式 236
7.17 小结 237

第8章 手势和触摸 238
8.1 触摸 238
8.1.1 阶段 238
8.1.2 触摸和视图方法 239
8.1.3 触摸视图 239
8.1.4 多点触摸 240
8.2 秘诀:添加一个简单直观的操作界面 240
8.3 秘诀:限制移动 241
8.4 秘诀:测试触摸 242
8.5 秘诀:测试位图上的触摸 243
8.6 秘诀:向直接操作界面添加持久性 246
8.6.1 存储状态 246
8.6.2 恢复状态 247
8.7 秘诀:通过归档实现持久性 248
8.8 秘诀:添加撤销支持 250
8.8.1 创建撤销管理器 250
8.8.2 子视图撤销支持 250
8.8.3 使用导航栏 250
8.8.4 注册撤销 251
8.9 秘诀:添加晃动控制的撤销支持 252
8.9.1 添加撤销和恢复的动作名称 253
8.9.2 提供晃动以编辑支持 253
8.9.3 设置第一个响应程序 253
8.10 秘诀:屏幕绘图 254
8.11 秘诀:线的计算 255
8.12 秘诀:检测圆形 257
8.13 秘诀:多点触摸 259
8.14 秘诀:区分手势 260
8.15 补充内容:交互式调整大小和旋转 264
8.16 小结 269

第9章 构建和使用控件 270
9.1 uicontrol类 270
9.1.1 控件种类 270
9.1.2 控件事件 270
9.2 按钮 272
9.3 在interface builder中添加按钮 273
9.3.1 样式 273
9.3.2 连接按钮与动作 274
9.3.3 假按钮 275
9.4 在xcode中构建定制按钮 275
9.5 多行按钮文本 277
9.6 向按钮添加动画元素 277
9.7 秘诀:为按钮响应制作动画效果 278
9.8 秘诀:使用开关 279
9.9 秘诀:添加定制滑块缩略图 281
9.9.1 定制uislider 281
9.9.2 增加效能 282
9.10 秘诀:创建一个可两次点击的分段控件 286
9.11 秘诀:子类化uicontrol 287
9.11.1 跟踪触摸 288
9.11.2 分派事件 288
9.12 秘诀:关闭uitextfield键盘 290
9.12.1 文本特征属性 291
9.12.2 其他文本字段属性 291
9.13 秘诀:关闭uitextview键盘 292
9.14 秘诀:构建更好的文本编辑器 294
9.15 秘诀:文本输入筛选 296
9.16 秘诀:添加一个页面指示器控件 298
9.17 秘诀:创建一个可定制的分页滚动条 300
9.18 秘诀:构建工具栏 304
9.18.1 在xcode中构建工具栏 305
9.18.2 工具栏提示 307
9.19 补充内容:智能标签 307
9.20 小结 308

第10章 提醒用户 309
10.1 通过警告框直接与用户对话 309
10.1.1 构建简单的警告框 309
10.1.2 警告框委托 310
10.1.3 显示警告框 311
10.1.4 警告框类 311
10.2 秘诀:无按钮警告框 312
10.3 秘诀:使用run循环创建模态警告框 313
10.4 秘诀:要求用户进行文本输入 316
10.5 秘诀:对警告框视图使用可变参数 318
10.6 秘诀:展示简单的菜单 319
10.7 秘诀:在动作表中显示文本 321
10.8 “please wait”:向用户显示进度 321
10.9 秘诀:构建uiprogressview 322
10.10 构建定制覆盖图 324
10.11 秘诀:可点击的覆盖图 326
10.12 秘诀:可调整方向的滚动警告框 327
10.13 秘诀:使用网络活动指示器 329
10.14 秘诀:给应用程序贴标记 329
10.15 秘诀:简单的音频警告 330
10.15.1 系统声音 330
10.15.2 震动 331
10.15.3 警告 331
10.15.4 延迟 332
10.16 补充内容:展示音量警告框 333
10.17 小结 333

第11章 创建和管理表格视图 335
第12章 使用gamekit和bonjour进行连接 391
第13章 网络连接 432
第14章 设备能力 471
第15章 音频、视频和媒体工具 488
第16章 推送通知 525
第17章 使用core location和mapkit 552
第18章 连接地址簿 578
第19章 使用core data 605
第20章 storekit:应用程序内购买 623
第21章 辅助功能以及其他iphone os服务 637
附录a info.plist密钥 653

序言
iPhone SDK是苹果公司提供的一种软件开发工具包,它允许第三方为iPhone和iPod Touch创建应用程序。该软件包意义重大,因为苹果公司并不能满足所有人对iPhone应用的需求。开发人员可以使用iPhone SDK轻松地为iPhone和iPod Touch创建应用程序。其简易的操作方式和强大的功能也为开发人员带来了无限可能。
本书提供了关于iPhone SDK以及iPhone开发的全面信息。全书采用理论与实践相结合的方式,指导读者创建一系列小应用程序,让读者能在实践中理解iPhone应用程序的运行方式和构建方式,并掌握具体的iPhone特性以及控制这些特性或与其交互的方式。
全书共分为21章和一个附表,内容涉及iPhone开发中经常用到的一些基本组件,包括视图、视图控制器、警告和表格,如何开发各种高级iPhone特性,其中包括媒体、控件、人物、位置和事件,还有连接服务和高级的Cover Flow编程技巧等。
本书覆盖面广、结构清晰合理,是一本出色的iPhone开发入门指南。本书面向已经熟悉Objective-C、Cocoa框架和Xcode工具,并且要为iPhone和iPod touch构建应用程序的开发人员。如果你不熟悉这些工具,书中也提供了对Objective-C的快速简介以及对Xcode工具的介绍,可以帮助你快速上手。通过清晰、全面的示例,读者可迅速上手并开始进行高效率的开发。
iPhone SDK是一个新兴的软件开发平台,且目前国内关于iPhone开发的书籍不太多。本书集适用性、易读性和参考性于一身,一定能成为iPhone开发人员和爱好者的首选。
本书由张彩霞、高颖、易磊、陈华全、谢俊、徐红霞、杨越、张波和盛海艳等翻译审校,在翻译过程中,得到了图灵公司傅志红老师的帮助和支持,在此一并致谢。但由于译者的知识局限,加之时间也比较仓促,译文中难免会出现一些疏漏,诚恳地希望广大读者给予批评指正。
将本书献给我最爱的丈夫Alberto,感谢他多年来一直容忍我谈论太多的小工具和SDK,并始终亲切耐心地陪伴着我。

文摘
插图:

iPhone开发秘籍

内容简介
《iPhone开发秘籍(第2版)》提供了关于iphone sdk以及iphone开发的全面信息,对iphone sdk中的各种组件做了深入浅出的介绍,包括iphone 3.0 sdk的所有新增特性,同时对iphone开发的基本流程、基本原理和基本原则进行了详细且通俗的讲解。此外,还结合实例讲解了如何开发各种iphone特性,包括视图、视图控制器、警告、表格、媒体、控件、人物、位置和事件。
《iPhone开发秘籍(第2版)》适合iphone和mac开发人员。

购买书籍

当当网购书 京东购书 卓越购书

PDF电子书下载地址

相关书籍

搜索更多