具体描述
本书是智捷课堂团队编著的“iOS实战”系列图书中的一本,本书系统介绍了苹果产品“生态圈”的相关知识。全书共分为13章,分别介绍了苹果网络编程、Core Data技术、iCloud编程、推送通知、社交网络编程、Newsstand、应用内购买、Passbook、HomeKit、Handoff、定位服务和地图应用开发。书中全部采用基于iOS 8的新API。 本书适合作为从事iOS应用开发的软件工程师的参考用书,也可以作为计算机科学与技术、软件工程等专业移动开发类课程的教学用书。
作者简介
关东升,国内著名iOS/Cocos技术作家,iOS技术顾问,Cocos*有价值专家(CVP),智捷课堂首席培训专家。担任51CTO社区iOS技术顾问,精通iOS、Android和Windows及HTML5等移动开发技术。曾先后主持开发大型网络游戏《神农诀》的iOS和Android客户端开发,国家农产品追溯系统的iPad客户端开发,酒店预订系统的iOS客户端开发,金融系统的ios、Windows及Android客户端开发。在AppStore上发布数款游戏和应用软件,擅长移动平台的应用和游戏类项目开发。长期为中国移动研究院、方正科技、大唐电信、中国石油、工商银行、南方航空、惠普、东软、NTT等企事业单位提供技术咨询及员工培训。著有《iOS网络编程与云端应用最佳实践》、《iOS传感器应用开发最佳实践》、《iOS图形图像、动画和多媒体编程技术最佳实践》、《iOS开发指南》、《交互设计的艺术》、《Cocos2d-x实战:C++卷》、《Cocos2d-x实战:Lua卷》、《Cocos2d-x实战:工具卷》、《Cocos2d-x实战:JS卷》等专业图书。
目录信息
1.1本书结构
1.2本书中的约定
1.2.1实例代码约定
1.2.2图示约定
1.2.3图中手势
1.2.4方法命名约定
1.2.5构造器命名约定
第2章苹果网络
2.1网络结构
2.1.1客户端服务器结构网络
2.1.2对等结构网络
2.2基于Socket的C/S结构网络通信
2.2.1Socket概念
2.2.2Socket编程
2.2.3实例: CFStream实现TCP Socket服务器端
2.2.4实例: NSStream实现TCP Socket客户端
2.3Bonjour服务发现
2.3.1发布服务
2.3.2解析服务
2.3.3查找服务
2.3.4实例: 基于服务发现的Socket通信服务器端
2.3.5实例: 基于服务发现的Socket通信客户端
2.4对等结构网络
2.4.1使用Multipeer Connectivity开发对等结构网络应用
2.4.2实例: P2PGame游戏
本章小结
第3章Core Data数据持久化技术
3.1对象关系映射
3.2Core Data堆栈
3.3建模和生成实体
3.3.1建模
3.3.2生成实体
3.4实例: 采用Core Data实现MyNotes应用
3.4.1采用Core Data分层架构设计
3.4.2查询数据
3.4.3修改数据
本章小结
第4章iCloud编程
4.1苹果云服务——iCloud
4.2键值数据存储
4.2.1键值数据存储编程
4.2.2实例: iCloud键值数据存储
4.3文档存储
4.3.1iCloud存储运行过程
4.3.2实例: iCloud文档存储编程
4.4iCloud Core Data技术
4.4.1实例: iCloud Core Data实现MyNotes应用
4.4.2配置Xcode工程
4.4.3修改持久化存储协调者
4.4.4修改被管理的对象上下文
4.4.5合并iCloud数据
4.4.6更新UI
4.5CloudKit存储编程
4.5.1CloudKit术语
4.5.2iCloud Dashboard
4.5.3实例: CloudKit实现MyNotes应用
本章小结
第5章推送通知
5.1苹果中究竟有多少个“通知”
5.1.1广播通知
5.1.2本地通知
5.1.3推送通知
5.2配置推送通知
5.2.1证书签名请求
5.2.2创建App ID
5.2.3配置App ID支持推送通知
5.2.4生成APNS的SSL证书
5.2.5下载SSL证书
5.2.6为SSL证书导出p12文件
5.3iOS客户端编程
5.3.1代码实现
5.3.2可选择的推送通知
5.4推送服务端编程
5.4.1使用PHP实现推送服务
5.4.2使用Java推送服务
本章小结
第6章社交网络编程
6.1苹果的社交网络
6.1.1设置账户信息
6.1.2社交网络编程API
6.2使用iOS标准界面编写客户端
6.2.1撰写视图控制器SLComposeViewController
6.2.2实例: 新浪微博客户端
6.3编写自己的社交网络客户端
6.3.1编写社交网络客户端应用程序流程
6.3.2实例: 编写新浪微博客户端
本章小结
第7章报刊杂志——Newsstand应用编程
7.1报刊杂志应用
7.2报刊杂志应用编程
7.2.1配置报刊杂志应用
7.2.2使用Newsstand Kit API
7.3实例: 报刊杂志应用
7.3.1实例设计原型
7.3.2实例设计类图
7.3.3初始化杂志界面
7.3.4主动式下载资源
7.3.5后台下载资源
7.3.6断点续传
7.3.7读取杂志内容
本章小结
第8章应用内购买
8.1应用内购买实例设计
8.2搭建应用内购买开发环境
8.2.1添加测试用户
8.2.2创建App ID
8.2.3添加空白应用IAPDemo
8.2.4为IAPDemo应用添加购买项目
8.3内置产品类型应用内购买
8.3.1创建工程
8.3.2初始化处理
8.3.3获得产品信息
8.3.4处理交易结果
8.3.5恢复交易
8.3.6测试应用内购买
8.4服务器产品类型应用内购买
8.4.1工作流程
8.4.2应用内购买iOS客户端
8.4.3PHP服务器端实现
本章小结
第9章Passbook开发
9.1Passbook与Pass
9.1.1Pass的5种风格
9.1.2Pass的内部结构
9.2设计Pass
9.2.1pass.json文件结构
9.2.2Pass类型和字段
9.2.3二维条形码
9.2.4位置与时间
9.2.5本地化
9.2.6图标和图片的使用
9.3创建Pass
9.3.1创建Pass证书
9.3.2数字签名与打包Pass文件
9.4发布Pass
9.4.1Email发布
9.4.2Web网站发布
9.5Pass Kit编程
9.5.1实例: MyPass实例设计与说明
9.5.2配置Xcode工程
9.5.3访问Passbook
9.5.4添加与替换Pass
9.5.5查看Pass详细内容和删除Pass
本章小结
第10章智能家居与HomeKit编程
10.1苹果配件开发
10.2HomeKit智能家居平台
10.3HomeKit开发框架
10.3.1HomeKit术语
10.3.2HomeKitAPI
10.4HomeKit编程
10.4.1实例: Philips Light bulb控制设计与说明
10.4.2配置Xcode工程
10.4.3故事板设计实现
10.4.4创建家庭和房间
10.4.5配件查找和控制
10.4.6实例测试
本章小结
第11章Handoff编程
11.1Handoff技术
11.1.1使用Handoff的要求
11.1.2设置Handoff
11.1.3Handoff工作原理
11.2Handoff编程
11.2.1Handoff API
11.2.2Handoff编程的一般流程
11.3实例: 灯泡控制器
11.3.1实例描述
11.3.2故事板设计实现
11.3.3代码实现
本章小结
第12章定位
12.1获得用户的位置
12.1.1定位服务编程
12.1.2实例: 定位服务
12.1.3距离过滤器和精度
12.1.4启动和停止定位服务
12.1.5获得位置信息
12.1.6关于定位服务的测试
12.2地理信息编码与反编码
12.2.1地理信息反编码
12.2.2实例: 地理信息反编码
12.2.3地理信息编码查询
12.2.4实例: 地理信息编码查询
12.3微定位技术
12.3.1地理围栏
12.3.2iBeacon技术
12.3.3实例: iBeacon技术实现微定位
本章小结
第13章地图应用开发
13.1使用iOS苹果地图
13.1.1显示地图
13.1.2添加标注
13.1.3跟踪用户位置变化
13.2使用程序外地图
本章小结
· · · · · · (收起)
读后感
用户评价
拿起这本书,我最直观的感受就是“硬核”与“实用”的完美结合。它没有过多地渲染Swift语言的语法糖,而是直接切入了工程实践的核心。作者的叙述逻辑清晰,层层递进,从基础组件的构建到复杂模块的集成,每一步都踩在了点上。我特别喜欢其中对第三方库选型和适配的讨论,提供了许多实战中踩过的坑和避坑指南,这比单纯看官方文档要有效得多。很多开发者在实际工作中会遇到各种莫名其妙的内存泄漏或UI卡顿问题,这本书里提供的诊断思路和工具运用,可以直接套用到我的日常工作中去解决这些顽疾。这是一本真正面向解决实际问题的工程师手册,而不是给初学者“讲故事”的书籍。
坦白说,市面上关于iOS的书籍汗牛充栋,但真正能让我愿意反复翻阅,并从中获得新感悟的并不多。这本《iOS实战》绝对是其中的佼佼者。它的深度和广度都超出了我的预期。作者对系统底层API的理解,让我开始重新审视我们习以为常的那些系统调用。书中对新版本特性的集成和兼容性处理的分析尤为到位,避免了我们踩到早期版本可能出现的陷阱。阅读过程中,我发现自己过去很多“凭感觉”写出来的代码,在这本书的理论指导下得到了强有力的印证或修正。它为我构建了一个更扎实、更具弹性、更能应对未来挑战的技术基础。
这本书的价值,在于它成功地弥补了官方文档和在线教程之间的一个巨大鸿沟——那就是“如何将零散的知识点组织成一个健壮的产品”。作者没有停留在“如何做”的层面,而是深入探讨了“为什么这么做更优”。对于需要主导项目技术选型的技术负责人来说,书中的架构讨论部分极具参考价值。它提供了一套完整的评估体系和实施蓝图。我感觉这本书读完之后,我的技术视野被彻底打开了,对于如何构建一个面向未来的、能够持续迭代的移动应用,心里有了一张清晰的地图。这是技术投资中回报率最高的一次体验。
这本书的讲解方式实在是太深入了,完全不是那种浮于表面的入门指南。作者对编程范式的理解已经到了炉火纯青的地步,尤其是对于如何在实际项目中构建可维护、高性能的架构,提供了许多独到的见解。我特别欣赏书中关于数据流管理和并发处理的章节,它不仅仅是罗列API,而是真正剖析了底层原理,让我明白为何要那样设计,以及在不同场景下如何权衡取舍。那种“知其所以然”的感觉,是很多技术书籍所不具备的。读完后,我感觉自己对整个iOS开发体系的认知提升了一个层次,对于那些需要处理复杂业务逻辑和性能瓶颈的开发者来说,这本书简直是宝藏。它不是让你学会写代码,而是教你如何成为一个真正的架构师。
这本书的阅读体验,就像是跟着一位经验丰富的大师进行一对一的深度辅导。作者的文笔成熟稳重,不卖弄概念,而是用最精炼的语言描述最深刻的道理。它成功地将那些看似抽象的“设计模式”和“性能优化”技巧,通过生动的代码示例和深入的原理剖析,转化为了触手可及的实战技能。尤其是在处理跨平台数据同步和网络优化这部分,作者提供的解决方案极具前瞻性,体现了对未来技术趋势的精准把握。对于那些已经有一定基础,但渴望突破瓶颈、迈向高级开发的工程师而言,这本书无疑是加速成长的催化剂。它教会我的不仅是技术,更是一种严谨的工程思维。