iPhone开发秘籍 (第2版)

iPhone开发秘籍 (第2版) pdf epub mobi txt 电子书 下载 2026

出版者:人民邮电出版社
作者:[美] Erica Sadun
出品人:
页数:680
译者:张彩霞
出版时间:2010-11
价格:99.00元
装帧:平装
isbn号码:9787115240019
丛书系列:图灵程序设计丛书·移动开发系列
图书标签:
  • iphone
  • ios
  • Objective-C
  • 编程
  • 程序设计
  • iOS
  • development
  • 开发
  • iPhone开发
  • Swift
  • iOS开发
  • 编程语言
  • 移动开发
  • 苹果生态
  • 开发秘籍
  • 编程教程
  • 应用开发
  • 开发者工具
想要找书就要到 本本书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

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

本书适合iPhone 和Mac 开发人员。

《iPhone开发秘籍 (第2版)》 一、 聚焦前沿,引领iOS开发新方向 本书是专为追求卓越和掌握最新iOS开发技术的开发者打造的权威指南。秉承“秘籍”之名,它不仅涵盖了iPhone开发的基础知识,更深入剖析了SwiftUI、Combine框架等Apple最新推出的核心技术,帮助开发者构建现代化、响应式、高性能的iOS应用。我们不满足于现有知识的复述,而是致力于为您揭示那些隐藏在API背后的设计理念与最佳实践,让您在理解“为什么”的同时,掌握“怎么做”。 二、 实战导向,解决真实开发挑战 理论学习固然重要,但解决实际问题才是检验真理的唯一标准。本书将大量篇幅用于精心设计的实战案例,涵盖从UI布局、数据管理到网络通信、多线程处理等iOS开发中的各个关键环节。这些案例并非纸上谈兵,而是来源于真实开发场景,并经过精炼和优化,确保您在学习过程中能够直接将知识应用于自己的项目中。我们将引导您一步步攻克常见的技术难点,例如如何高效地处理复杂的数据流,如何在多设备间实现无缝的用户体验,以及如何构建安全可靠的网络服务。 三、 深度解析,洞察Swift与Objective-C的精髓 Swift语言以其简洁、安全、高效的特性,已成为iOS开发的主流。本书将深入探讨Swift的各项高级特性,包括但不限于泛型、协议、内存管理(ARC)、并发编程(async/await),以及SwiftUI的声明式UI编程模型。同时,对于仍需维护或集成Objective-C代码的项目,本书也提供了清晰的Objective-C语言解析和与Swift的互操作性指南,帮助您游刃有余地处理混编环境。我们将剖析语言的底层机制,让您不仅知其然,更知其所以然。 四、 全面覆盖,构建现代iOS应用架构 构建可维护、可扩展的应用程序离不开良好的架构设计。本书将详细介绍当前主流的iOS应用架构模式,如MVVM、MVC、VIPER等,并分析它们各自的优缺点及适用场景。我们将引导您理解如何通过合理的架构划分,实现代码的解耦,提升团队协作效率,并降低后期维护的成本。此外,对于数据持久化、状态管理、依赖注入等关键技术点,本书也将提供全面的解决方案和实践建议。 五、 性能优化,打造流畅丝滑的用户体验 在竞争激烈的应用市场中,卓越的用户体验是成功的关键。本书将花费大量篇幅讲解iOS应用的性能优化技巧,包括如何分析和定位性能瓶颈,如何优化内存使用,如何提升UI渲染效率,以及如何进行高效的网络请求和数据加载。您将学会使用Instruments等工具进行性能剖析,并掌握各种优化策略,确保您的应用在各种设备上都能提供流畅、响应迅速的用户体验。 六、 安全之道,守护用户数据与隐私 随着用户对数据安全和隐私保护意识的增强,为应用添加坚固的安全防护已成为开发者不可推卸的责任。本书将深入探讨iOS应用的安全开发实践,包括数据加密、安全存储、网络通信安全(HTTPS、证书验证)、权限管理以及防止常见的安全漏洞(如SQL注入、跨站脚本攻击等)。我们将为您揭示Apple提供的安全API,并指导您如何构建一个值得用户信赖的应用。 七、 测试先行,保障应用质量的基石 高质量的应用离不开完善的测试体系。本书将全面介绍iOS应用的测试策略和方法,包括单元测试(XCTest)、UI测试、性能测试以及集成测试。您将学习如何编写高质量的测试用例,如何利用Xcode的测试工具,以及如何将测试融入到持续集成/持续部署(CI/CD)流程中,从而在开发早期发现并修复缺陷,大幅提升应用的稳定性和可靠性。 八、 社区协作,拥抱开源与持续学习 iOS开发领域日新月异,积极参与社区、拥抱开源是保持技术领先的关键。本书将介绍一些有用的第三方库和开发工具,并引导您如何利用CocoaPods、Swift Package Manager等依赖管理工具,以及如何关注和学习Swift和iOS开发社区的最新动态。我们鼓励开发者在学习过程中积极探索,分享经验,共同进步。 目标读者: 希望深入理解iOS开发核心技术,提升开发效率和应用质量的iOS开发者。 致力于掌握SwiftUI、Combine等最新Apple技术,构建现代化iOS应用的开发者。 需要解决实际开发中遇到的复杂问题,寻求权威解决方案的开发者。 希望系统学习iOS应用架构、性能优化与安全开发的高级开发者。 对Objective-C与Swift混合开发感到困惑,寻求清晰指导的开发者。 《iPhone开发秘籍 (第2版)》,将是您踏上iOS开发巅峰之旅的得力助手,助您在不断变化的移动开发浪潮中,始终处于领先地位。

作者简介

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
11.1 UITableView和UITableView- Controller简介 335
11.2 秘诀:实现最基本的表格 337
11.2.1 填充表格 337
11.2.2 数据源方法 338
11.2.3 重用单元格 338
11.2.4 字体表格示例 338
11.3 秘诀:更改表格的背景色 340
11.4 秘诀:创建表格图像后挡板 341
11.5 秘诀:单元格类型研究 343
11.6 秘诀:使用Interface Builder构建定制单元格 344
11.6.1 创建定制单元格的技巧 346
11.6.2 增加定制选择特性 347
11.7 秘诀:单元格颜色交替 347
11.8 秘诀:使用内置控件构建定制单元格 348
11.9 秘诀:记住定制单元格的控制状态 350
11.10 秘诀:创建勾选的表格单元格 353
11.11 移除单元格选中时的高亮显示状态 354
11.12 秘诀:处理展开配件 355
11.13 秘诀:删除单元格 357
11.13.1 显示删除控件 357
11.13.2 隐藏删除控件 357
11.13.3 处理删除请求 357
11.13.4 滑动单元格 358
11.13.5 添加单元格 358
11.14 秘诀:对单元格重新排序 360
11.15 秘诀:向表格添加撤销支持 361
11.15.1 支持“晃动以编辑” 362
11.15.2 添加Undo和Redo按钮 362
11.15.3 执行撤销和恢复 363
11.15.4 准备表格撤销操作 364
11.16 秘诀:表格排序 366
11.17 秘诀:搜索表格 367
11.17.1 构建搜索显示控制器 367
11.17.2 构建可搜索数据源方法 368
11.17.3 委托方法 369
11.18 秘诀:处理分段 370
11.18.1 创建基于分段的数据结构 370
11.18.2 分段计数和行计数 371
11.18.3 返回单元格 371
11.18.4 创建标题 372
11.18.5 创建分段索引 373
11.18.6 分段委托 374
11.19 秘诀:创建分组表格 374
11.20 秘诀:定制表头和脚注 375
11.21 秘诀:创建带有各种单元格类型和高度的分组表格 377
11.22 秘诀:构建多轮表格 380
11.23 秘诀:使用基于视图的选取器 383
11.24 秘诀:使用UIDatePicker 385
11.25 补充内容:格式化日期 388
11.26 小结 390
第12章 使用GameKit和Bonjour进行连接 391
12.1 秘诀:创建基本的GameKit服务 391
12.1.1 GameKit蓝牙限制 391
12.1.2 设备限制 392
12.1.3 会话 392
12.1.4 服务器、客户端、对等机 393
12.1.5 对等机连接过程 393
12.1.6 发送和接收数据 395
12.1.7 状态更改 396
12.1.8 创建GameKit辅助类 397
12.2 秘诀:后台监控 402
12.3 秘诀:通过GameKit发送复杂数据 403
12.4 秘诀:GameKit语音聊天 405
12.4.1 将GameKit作为中间人 405
12.4.2 实现语音聊天 406
12.5 秘诀:使用Bonjour创建iPhone服务器 407
12.6 秘诀:为iPhone Bonjour服务创建Mac客户端 411
12.7 秘诀:解决实际GameKit限制 414
12.7.1 使用iPhone粘贴板 415
12.7.2 存储数据 415
12.7.3 检索数据 415
12.7.4 可靠的粘贴板 415
12.8 秘诀:通过BonjourHelper连接iPhone进行游戏 418
12.8.1 注册Bonjour名称和端口 419
12.8.2 双工连接 419
12.8.3 读取数据 419
12.8.4 关闭连接 419
12.9 创建“在线”GameKit连接 426
12.10 补充内容:扫描服务 428
12.11 小结 431
第13章 网络连接 432
13.1 秘诀:检查网络状态 432
13.2 秘诀:为可达性扩展UIDevice类 433
13.3 秘诀:扫描连接变化 436
13.4 秘诀:重新获得IP和主机信息 439
13.5 秘诀:检查站点可用性 441
13.6 秘诀:同步下载 443
13.7 秘诀:异步下载 445
13.8 秘诀:应对身份验证的挑战 450
13.9 秘诀:使用密钥链存储敏感数据 451
13.9.1 密钥链包装器 451
13.9.2 密钥链持久性 452
13.10 秘诀:通过POST上传 453
13.11 秘诀:上传数据 456
13.12 秘诀:在应用程序之间共享密钥链 459
13.13 秘诀:将XML转换为树 460
13.13.1 构建解析树 461
13.13.2 使用树结果 462
13.13.3 分解树 464
13.14 秘诀:构建一个简单的基于Web的服务器 465
13.15 补充内容:FTPHelper 468
13.16 小结 469
第14章 设备能力 471
14.1 秘诀:访问核心设备信息 471
14.2 添加设备功能限制 472
14.3 秘诀:重新获得更多设备信息 473
14.4 秘诀:监控iPhone的电池状态 475
14.5 秘诀:启用和禁用接近传感器 476
14.6 秘诀:使用加速度将方向定位为“向上” 477
14.7 秘诀:使用加速度移动屏幕上的对象 479
14.8 秘诀:检测设备方向 481
14.9 秘诀:利用运动事件检测晃动 482
14.10 秘诀:直接从加速计检测晃动 484
14.11 补充内容:检查可用的磁盘空间 487
14.12 小结 487
第15章 音频、视频和媒体工具 488
15.1 秘诀:使用AVAudioPlayer播放音频 488
15.1.1 初始化音频播放器 488
15.1.2 监控音量水平 489
15.1.3 回放进度和拖曳播放 490
15.1.4 捕获回放结束 490
15.2 秘诀:循环播放音频 494
15.3 秘诀:处理音频中断 496
15.4 秘诀:忽略休眠的音频 497
15.5 秘诀:录制音频 499
15.6 秘诀:使用音频队列录制音频 503
15.7 秘诀:使用媒体播放器播放视频 508
15.8 秘决:录制视频 510
15.9 秘诀:选取和编辑视频 512
15.10 秘诀:使用MPMediaPicker- Controller选取音频 514
15.11 秘诀:创建媒体查询 517
15.11.1 建立查询 517
15.11.2 使用谓词 518
15.11.3 解决速度问题 519
15.12 秘诀:使用MPMusicPlayer- Controller 520
15.13 补充内容:额外的电影播放器属性 524
15.14 小结 524
第16章 推送通知 525
16.1 推送通知简介 525
16.1.1 推送技术的工作原理 526
16.1.2 多个提供商支持 526
16.1.3 安全 527
16.1.4 推送的局限性 527
16.2 准备推送 527
16.2.1 生成一个应用程序标识符 528
16.2.2 生成SSL证书 528
16.2.3 推送服务特有的准备文件 530
16.3 注册应用程序 530
16.3.1 检索设备令牌 531
16.3.2 处理令牌请求错误 532
16.3.3 响应通知 532
16.4 秘诀:推送客户端框架 533
16.5 构建通知的有效内容 538
16.5.1 本地化警告 539
16.5.2 从字典转换为JSON 539
16.5.3 自定义数据 540
16.5.4 启动时接收数据 540
16.6 秘诀:发送通知 541
16.7 秘诀:实际使用推送服务 545
16.8 反馈服务 549
16.9 推送服务设计 550
16.10 小结 550
第17章 使用Core Location和MapKit 552
17.1 Core Location的工作原理 552
17.1.1 GPS定位 552
17.1.2 Skyhook Wi-Fi定位 552
17.1.3 蜂窝基站定位技术 553
17.1.4 因特网提供商定位技术 553
17.1.5 混合使用这些方法 553
17.2 秘诀:Core Location简介 554
17.3 秘诀:跟踪速率 556
17.4 秘诀:计算速率和距离 557
17.5 秘诀:使用heading值跟踪北向 559
17.6 秘诀:逆向地理编码 561
17.7 秘诀:查看位置 562
17.8 秘诀:用户位置注解 565
17.9 秘诀:创建地图注解 567
17.9.1 创建、添加和删除注解 568
17.9.2 注解视图 568
17.9.3 自定义注解视图 569
17.9.4 响应注解按钮轻击事件 570
17.10 补充内容:地理编码 574
17.11 小结 577
第18章 连接地址簿 578
18.1 秘诀:使用地址簿 578
18.1.1 地址簿UI 578
18.1.2 地址簿 578
18.1.3 检索和设置ABRecord字符串 579
18.1.4 简单的日期属性 581
18.1.5 获取和设置多值记录属性 581
18.1.6 地址和即时消息属性 584
18.1.7 使用地址簿图像 586
18.1.8 创建、添加和删除记录 586
18.1.9 搜索联系人 587
18.1.10 处理分组 588
18.1.11 ABContact、ABGroup和ABContactsHelper 590
18.2 秘诀:搜索地址簿 590
18.3 秘诀:访问图像数据 592
18.4 秘诀:选取人员 594
18.5 秘诀:限制联系人选取器属性 595
18.6 秘诀:添加新联系人 597
18.7 秘诀:修改现有联系人 599
18.8 秘诀:ABUnknownPersonView-Controller 600
18.9 补充内容:添加随机的联系人拼图 602
18.10 小结 604
第19章 使用Core Data 605
19.1 Core Data简介 605
19.1.1 创建和编辑模型文件 605
19.1.2 生成头文件 606
19.1.3 创建Core Data上下文 607
19.1.4 添加对象 608
19.1.5 查询数据库 610
19.1.6 检测更改 611
19.1.7 删除对象 611
19.2 秘诀:将Core Data用作表格数据源 613
19.3 秘诀:搜索表与Core Data 616
19.4 秘诀:集成Core Data表与实时数据编辑 618
19.5 秘诀:使用Core Data实现撤销—重做支持 620
19.6 小结 622
第20章 StoreKit:应用程序内购买 623
20.1 StoreKit入门 623
20.2 创建测试账户 625
20.3 创建应用程序内购买商品 625
20.3.1 填写定价部分 626
20.3.2 添加商品详细信息 627
20.3.3 提交购买GUI屏幕截图 628
20.3.4 开发人员批准 628
20.4 提交应用程序 628
20.5 构建GUI 629
20.6 购买商品 631
20.6.1 注销iTunes账户以进行测试 631
20.6.2 购买之后重新获得编程控制 631
20.6.3 注册购买商品 632
20.6.4 恢复购买商品 633
20.6.5 购买多个商品 634
20.6.6 处理注册购买过程中的延迟 634
20.7 验证收据 634
20.8 小结 636
第21章 辅助功能以及其他iPhone OS服务 637
21.1 将VoiceOver辅助功能添加到应用程序 637
21.1.1 Interface Builder中的辅助功能 637
21.1.2 在代码中使用辅助功能 639
21.1.3 使用模拟器进行测试 640
21.1.4 在iPhone上测试辅助功能 640
21.2 秘诀:添加自定义设置包 641
21.2.1 Settings应用程序 642
21.2.2 避免敏感信息 643
21.2.3 Settings模式 643
21.2.4 定义设置包 643
21.2.5 设置和用户 647
21.2.6 检查用户默认值 647
21.3 秘诀:创建基于URL的服务 648
21.3.1 使用URL模式 648
21.3.2 服务缺点 648
21.3.3 交叉促销 649
21.3.4 注册模式:声明URL 649
21.3.5 注册模式:添加处理程序方法 649
21.3.6 使调用应用程序恢复控制 650
21.3.7 实现自定义模式 651
21.4 小结 652
附录A Info.plist密钥 653
· · · · · · (收起)

读后感

评分

一些意料之中和意料之外的新闻在2011年8月集中爆发。谷歌宣布以125万美元收购摩托罗拉手机部门;惠普宣布将分拆其PC业务;乔布斯宣布不再担任苹果的CEO,由公司原COO库克接替CEO职务;中国IT界的老将雷军不甘寂寞,模仿乔布斯的样子,发布了一款名叫“小米”的手机。 大小玩家或...

评分

turingbook不给力啊 源代码都broken 哪位有源代码给我发到邮箱呗 summerise@163.com 谢谢谢谢谢谢谢谢谢谢谢⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯  

评分

作为入门读物还行. 我本来很想买一本中文版的,但我提前同时下载了中文版和英文版的PDF,对比发现中文的名词翻译太差了,可能是译者都没有实际的mac开发经验所致,建议大家还是直接看原版,以后的译者最好还是直接保留原名词直译的方式,我觉得比较好。  

评分

这本书循序渐进,由浅入深地介绍了iPhone开发的各个部分,通过一个个实际问题带领读者深入了解每个开发细节,是我目前读过的iPhone开发最好到书籍,对于已经入门的开发者快速提升经验非常有帮助。 但对于初学者和特别是开发资历尚潜的开发者,读这本书也许会吃力。建议先去读《...  

评分

作为入门读物还行. 我本来很想买一本中文版的,但我提前同时下载了中文版和英文版的PDF,对比发现中文的名词翻译太差了,可能是译者都没有实际的mac开发经验所致,建议大家还是直接看原版,以后的译者最好还是直接保留原名词直译的方式,我觉得比较好。  

用户评价

评分

**初学者福音,让我从小白到独立开发者的蜕变之路** 自从我决心踏入iOS开发这个充满挑战又令人兴奋的领域以来,便像无头苍蝇一样在网上搜寻各种资料,各种教程,各种博客,但总是感觉碎片化,难以形成系统性的知识体系。直到我偶然发现了《iPhone开发秘籍》(第2版),我的学习之路才终于看到了曙光。这本书的结构设计非常巧妙,从最基础的Swift语言语法,到UIKit框架的核心概念,再到更深入的GCD、网络请求、数据库操作,甚至连一些进阶的UI设计模式和性能优化技巧都涵盖其中。每章节的讲解都层层递进,循序渐进,即使是完全没有编程基础的我,也能理解作者的思路。尤其让我印象深刻的是,书中提供的代码示例都非常精炼且实用,我常常可以复制粘贴,然后稍作修改,就能在自己的小项目中跑起来,这极大地增强了我的信心和成就感。更重要的是,作者在讲解过程中,并没有仅仅停留在“是什么”的层面,而是深入浅出地解释了“为什么”,让我能够理解这些技术的背后原理,从而在遇到问题时,能够举一反三,而不是死记硬背。这本书就像一位经验丰富的导师,耐心地引导着我一步步前行,让我不再感到迷茫和无助。

评分

**不仅仅是代码,更是工程思维的启蒙** 随着我阅读《iPhone开发秘籍》(第2版)的深入,我越来越发现,这本书带给我的不仅仅是技术上的知识,更是一种工程思维的启蒙。作者在讲解每个功能模块时,都会考虑到实际开发中可能遇到的各种问题,比如错误处理、异常捕获、用户体验优化等等。书中关于版本控制Git的介绍,以及如何进行单元测试和UI测试的章节,让我意识到了规范化开发流程的重要性。我还对书中关于App发布流程的详细讲解印象深刻,从开发者账号的申请,到证书的配置,再到App Store的提交和审核,每一个环节都清晰明了。这本书让我明白,一个优秀的App,不仅仅是代码的堆砌,更需要严谨的工程管理和对用户需求的深刻理解。通过这本书,我开始思考如何设计出更具扩展性、可维护性和健壮性的代码,如何有效地进行团队协作,以及如何将一个想法真正转化为一个高质量的产品。这对我未来的职业发展,无疑具有深远的意义。

评分

**循序渐进,由浅入深,让我对iOS开发的整体脉络有了清晰认知** 在决定学习iOS开发之前,我尝试过学习其他一些编程语言,但总是因为各种原因半途而废。这次选择iOS开发,我希望能够找到一本能够系统性地引导我的书籍。《iPhone开发秘籍》(第2版)正是这样一本优秀的书籍。它并非一开始就抛出晦涩难懂的概念,而是从最基础的Swift语法开始,一点点地引入iOS开发的各种组件和技术。从UI控件的使用,到事件处理,再到更复杂的导航控制和数据传递,整个学习过程都显得非常流畅和自然。我尤其欣赏作者对于概念的阐释,总是能够用通俗易懂的语言,配合形象的比喻,让我轻松理解那些看似复杂的原理。例如,在讲解Objective-C和Swift的交互时,作者通过大量的图示和代码对比,让我对它们的异同有了非常清晰的认识。这本书不仅仅是教我如何编写代码,更重要的是,它帮助我构建了一个关于iOS开发整体框架的认知体系,让我明白各个技术模块之间是如何关联的,以及它们在整个App生命周期中扮演着怎样的角色,这对于我建立正确的学习思路至关重要。

评分

**资深开发者的进阶宝典,填补了我知识体系中的空白** 作为一名已经有几年iOS开发经验的开发者,我一直觉得自己的技术栈虽然算不上浅薄,但总感觉在某些领域不够深入,尤其是在一些涉及到高性能、高并发场景的处理上,常常会遇到瓶颈。在朋友的推荐下,我入手了《iPhone开发秘籍》(第2版),原本以为只是泛泛而谈,没想到这本书的深度和广度都远远超出了我的预期。书中关于多线程编程的讲解,特别是GCD的各种用法和实际应用场景,让我眼前一亮,许多之前模糊的概念一下子变得清晰起来。另外,对于一些底层API的解析,比如Core Animation的深入剖析,ARC的内存管理机制的更细致解读,都让我受益匪浅。我还特别喜欢书中关于架构设计的讨论,MVC、MVVM、VIPER等设计模式的优劣分析以及在实际项目中的应用建议,让我能够更好地组织和管理复杂项目,提高代码的可维护性和可扩展性。这本书不仅仅是技术的堆砌,更是一种思想的传递,它引导我去思考如何写出更优雅、更高效、更健壮的代码,让我从“会写代码”迈向了“写好代码”的境界,着实为我多年的开发生涯注入了新的活力。

评分

**设计思路清晰,代码示例丰富,实操性极强!** 我是一名在校的计算机专业学生,对iOS开发有着浓厚的兴趣,但学校的课程往往比较理论化,实践操作的机会不多。在寻找能够真正帮助我上手开发的教材时,《iPhone开发秘籍》(第2版)成为了我的首选。这本书最大的亮点在于其极强的实操性。作者在讲解每一个知识点时,都会配套提供非常清晰、可以直接运行的代码示例。我常常跟着书中的步骤,一步步地在Xcode中敲代码、运行、调试,这种亲手实践的感觉,远比仅仅阅读文字要来得深刻。书中涉及的UI布局技巧,比如Auto Layout的各种约束设置,以及如何使用Storyboards和XIB文件来构建复杂的界面,都非常实用。我尝试着书中的案例,并将它们应用到我自己的课程设计和一些小项目上,收到了意想不到的效果。此外,书中还讲解了如何进行网络数据请求,如何使用Core Data进行本地数据存储,这些都是构建完整App不可或缺的关键技术,通过这本书的学习,我掌握了这些核心技能,为我未来的实习和就业打下了坚实的基础。

评分

可以作为开发过程很好的帮助参考资料

评分

当年很不错

评分

可以作为开发过程很好的帮助参考资料

评分

可能是秘籍的缘故,对于初学者来说还是官网的iphone应用程序编程指南更通俗易懂,更准确。

评分

最重要的是编程思想。

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 onlinetoolsland.com All Rights Reserved. 本本书屋 版权所有