图书介绍

iPhone开发秘籍 第2版【2025|PDF下载-Epub版本|mobi电子书|kindle百度云盘下载】

iPhone开发秘籍 第2版
  • (美)萨丹著 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:9787115240019
  • 出版时间:2010
  • 标注页数:654页
  • 文件大小:150MB
  • 文件页数:680页
  • 主题词:移动通信-携带电话机-应用程序-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

iPhone开发秘籍 第2版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第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下载SDK2

1.2.2开发设备3

1.2.3模拟器的限制4

1.2.4Tethering4

1.3理解型号差异5

1.3.1摄像头5

1.3.2扬声器和麦克风5

1.3.3手机6

1.3.4Core Location的差异6

1.3.5振动支持和接近传感器6

1.3.6处理器速度6

1.3.7OpenGL ES7

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.5SDK限制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.m14

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打开视图控制器xib33

2.2.7编辑视图34

2.2.8运行应用程序34

2.3使用模拟器35

2.4极简单的Hello World36

2.4.1浏览SDK API38

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启用Zombie44

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 Identity52

2.10.4编译和运行Hello World应用程序53

2.10.5对编译后的应用程序签名53

2.11从Xcode到iPhone: Organizer Interface54

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获得特定于iPhonc的定义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-yourcompany67

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.11Foundation类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和UI window111

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 UIViewController114

4.2.1 UIViewController114

4.2.2 UINavigationcontroller115

4.2.3 UITabBarController115

4.2.4表格控制器115

4.2.5地址簿控制器116

4.2.6 UIImagePickerCcntroller116

4.2.7邮件撰写116

4.2.8 GKPeerPickerController116

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.3Interface Builder121

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…m132

4.7.6运行应用程序133

4.8实战演练:直接从代码加载xib文件133

4.8.1清理xib134

4.8.2更新loadView134

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 Transitions188

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定制UISlider281

9.9.2增加效能282

9.10秘诀:创建一个可两次点击的分段控件286

9.11秘诀:子类化UIControl287

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秘诀:构建UIProgressView322

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秘诀:使用UIDatePicker385

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 补充内容:FTPHelper468

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-Controller520

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从字典转换为JSON539

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和MapKit552

17.1Core 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地址簿UI578

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.11ABContact、ABGroup和ABContactsHelper590

18.2秘诀:搜索地址簿590

18.3秘诀:访问图像数据592

18.4秘诀:选取人员594

18.5秘诀:限制联系人选取器属性595

18.6秘诀:添加新联系人597

18.7秘诀:修改现有联系人599

18.8秘诀:ABUnknownPersonView-Controller600

18.9补充内容:添加随机的联系人拼图602

18.10小结604

第19章 使用Core Data605

19.1Core 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 Data616

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构建GUI629

20.6购买商品631

20.6.1注销iTune账户以进行测试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.1Settings应用程序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注册模式:声明URL649

21.3.5注册模式:添加处理程序方法649

21.3.6使调用应用程序恢复控制650

21.3.7实现自定义模式651

21.4小结652

附录A Info.plist密钥653

热门推荐