具体描述
《iOS开发进阶》分工具、实践、理论三大部分。第一部分介绍iOS 开发的常用工具,第二部分介绍iOS开发中的一些常见的实践经验,第三部分介绍iOS 开发中涉及的原理。
如果把成为iOS 开发高手的过程比作武侠小说中的修炼过程的话,工具、实践和理论的学习就分别对应兵器、招式和内功的修炼。《iOS开发进阶》希望通过这三方面的综合讲解,全面提高开发者的技能水平。
作者简介
唐巧,Blogger、InfoQ编辑,资深iOS开发者。曾在网易参与过网易邮箱、网易微博、有道云笔记的开发。目前正参与互联网教育公司猿题库的创业,负责猿题库和小猿搜题的iOS版本开发。
喜欢写作与分享,长期维护着自己的技术博客http://devtang.com、技术微博@唐巧_boy,以及微信公众号iOSDevTips,所写的技术文章也多次发表在InfoQ网站和《程序员》杂志上。
目录信息
第1章引言
1.1 我为什么要写本书
1.1.1 我的构思
1.1.2 内容导读
1.1.3 目标读者
1.1.4 随书示例代码和勘误
1.1.5 致谢
1.2 如何提高iOS 开发技能
1.2.1 阅读博客
1.2.2 读书
1.2.3 看WWDC 视频
1.2.4 看苹果的官方文档
1.2.5 看开源项目的代码
1.2.6 多写代码,多思考
1.2.7 多和同行交流
1.2.8 分享
第一部分:iOS 开发工具
第2章使用CocoaPods 做依赖管理
2.1 CocoaPods 简介
2.2 CocoaPods 的安装和使用
2.2.1 CocoaPods 的安装
2.2.2 使用CocoaPods 的镜像索引
2.2.3 使用CocoaPods
2.2.4 查找第三方库
2.3 注意事项
2.3.1 关于.gitignore
2.3.2 为自己的项目创建podspec 文件
2.3.3 使用私有的pods
2.3.4 不更新podspec
2.3.5 生成第三方库的帮助文档
2.3.6 原理
第3章网络封包分析工具Charles
3.1 Charles 简介
3.2 Charles 的安装和使用
3.2.1 安装Charles
3.2.2 安装SSL 证书
3.2.3 将Charles 设置成系统代理
3.2.4 Charles 主界面介绍
3.2.5 过滤网络请求
3.3 使用Charles 协助iOS 开发
3.3.1 截取iPhone 上的网络封包
3.3.2 模拟慢速网络
3.4 高级功能
3.4.1 截取SSL 信息
3.4.2 修改网络请求内容
3.4.3 修改服务器返回内容
3.5 Map 功能
3.6 Rewrite 功能
3.7 Breakpoints 功能
3.8 总结
3.9 参考链接
第4章界面调试工具Reveal
4.1 Reveal 简介
4.2 Reveal 的使用
4.2.1 用Reveal 连接模拟器调试
4.2.2 用Reveal 连接真机调试
4.2.3 用Reveal 调试其他应用界面
4.2.4 总结
4.2.5 参考资料
第5章移动统计工具Flurry
5.1 Flurry 简介
5.2 Flurry 的基本使用
5.2.1 注册和下载对应SDK
5.2.2 集成SDK
5.2.3 自定义统计项
5.2.4 查看统计结果
5.2.5 统计Crashlog
5.3 对比和总结
5.3.1 和其他统计分析平台的对比
5.3.2 总结
第6章崩溃日志记录工具Crashlytics
6.1 Crashlytics 简介
6.2 Crashlytics 的使用
6.3 实现原理和使用体会
第7章App Store 统计工具App Annie
7.1 App Annie 简介
7.2 App Annie 的使用
7.3 App Annie 账号的注册及配置
7.4 和其他工具的对比
7.4.1 官方的命令行工具
7.4.2 其他类似服务
7.4.3 功能对比
第8章Xcode 插件
8.1 Xcode 插件管理工具Alcatraz
8.1.1 简介
8.1.2 安装和删除
8.1.3 使用
8.1.4 插件路径
8.2 关于Xcode 的插件机制
8.3 常用Xcode 插件
8.3.1 KSImageNamed
8.3.2 XVim
8.3.3 FuzzyAutocompletePlugin
8.3.4 XToDo
8.3.5 BBUDebuggerTuckAway
8.3.6 SCXcodeSwitchExpander
8.3.7 deriveddata-exterminator
8.3.8 VVDocumenter
8.3.9 ClangFormat
8.3.10 ColorSense
8.3.11 XcodeBoost
第9章其他工具介绍
9.1 取色工具:数码测色计(DigitalColor Meter)
9.1.1 前言
9.1.2 使用介绍
9.1.3 其他类似工具:xScope
9.2 其他图形工具
9.2.1 ImageOptim
9.2.2 马克鳗
9.2.3 Dash
9.2.4 蒲公英
9.3 命令行工具
9.3.1 nomad
9.3.2 xctool
9.3.3 appledoc
第二部分:iOS 开发实践
......
· · · · · · (收起)
读后感
团队做 iOS 和 Android,我有 .NET Web 和 WinForm 背景,读这本书是为了从项目和管理的角度了解 iOS,不关心具体的开发细节。 阅读的重点是第一部分(第 2 ~ 9 章)、第二部分(第 16 单),其他部分快速翻书。 从项目的角度,第一部分介绍了许多实用的工具: 1、CocoaPods...
简单的说,就是把一下开发过程中常见的问题的博文,收录成了一本书,毫无体系可言,而且讲的东西也都是介绍性的,完全不值得一看,还不如遇到问题的时候直接百度。也可以说,这本书唯一有价值的地方就是目录了。 现在国内大部分作者态度都这样,一瓶子不满半瓶子晃荡,有点儿东...
团队做 iOS 和 Android,我有 .NET Web 和 WinForm 背景,读这本书是为了从项目和管理的角度了解 iOS,不关心具体的开发细节。 阅读的重点是第一部分(第 2 ~ 9 章)、第二部分(第 16 单),其他部分快速翻书。 从项目的角度,第一部分介绍了许多实用的工具: 1、CocoaPods...
团队做 iOS 和 Android,我有 .NET Web 和 WinForm 背景,读这本书是为了从项目和管理的角度了解 iOS,不关心具体的开发细节。 阅读的重点是第一部分(第 2 ~ 9 章)、第二部分(第 16 单),其他部分快速翻书。 从项目的角度,第一部分介绍了许多实用的工具: 1、CocoaPods...
用户评价
坦白说,我是一个对技术书籍的“挑剔鬼”,很多号称“进阶”的书籍读完后发现不过是基础知识的换汤不换药的重复。然而,这本书带给我的惊喜是持续不断的。它对Swift语言新特性的解读总是走在行业前沿,并且能够精准地把握这些新特性对现有开发范式可能产生的颠覆性影响。比如,书中对Combine框架的介绍,不仅仅是API的罗列,更是深入到了响应式编程思想在异步事件处理中的核心优势,甚至讨论了它与RxSwift等其他响应式库的哲学差异。这种前瞻性和深度分析,使得这本书的参考价值能够持续数年而不过时。此外,作者在讨论测试策略时,也展现了极高的专业素养,从单元测试、集成测试到UI测试的覆盖范围和Mocking技巧,都有详尽的指导,这在很多强调功能实现而忽略质量保证的教材中是少见的亮点。这本书的阅读体验,可以概括为:每一次翻页,都能带来一次对“更高标准”的认知刷新。
从一个资深移动开发者的角度来看,这本书在架构设计和工程实践的讨论上,展现了极高的成熟度。它不再仅仅关注单个功能的实现,而是将视野提升到整个App的生命周期管理和团队协作的层面。例如,书中对于不同状态管理库(State Management Library)的优劣势对比分析,非常客观且深入,帮助我重新审视了我们团队目前正在使用的架构方案,并从中找到了改进的方向。作者推崇的模块化和组件化思想,并非空泛的口号,而是通过具体的模块间依赖管理、版本控制策略和接口定义规范,给出了一个可落地的实施蓝图。这种“施工图”级别的指导,对于那些正在经历项目快速膨胀、代码耦合度日益增高的团队来说,简直是雪中送炭。阅读过程中,我多次停下来,在我的项目文档中记录下可以立即采纳的改进点。这本书真正做到了从理论到实践的无缝衔接,让工程化不再是可选项,而是必须掌握的核心技能。
我对这本书的排版和阅读体验给予高度评价,不得不说,这简直是为沉浸式学习量身定制的。书籍的装帧设计非常典雅,纸张的质感也很好,长时间阅读眼睛也不会感到疲劳。更重要的是,作者在组织知识结构上展现了极高的逻辑性和层次感。从基础概念的引入到复杂框架的深入剖析,过渡自然流畅,几乎没有阅读上的“卡点”。那些技术难点,往往被作者用非常直观的图表和类比来解释,即便是初次接触某个深奥概念的读者,也能迅速把握其精髓。这种“润物细无声”的教学方式,极大地降低了学习曲线。我尤其喜欢书中对UIKit生命周期和数据流处理的梳理,那部分内容清晰到我甚至可以抛开Xcode,在脑海中构建出整个应用的运行轨迹。对于希望从“会写代码”跃升到“理解原理”的进阶开发者来说,这本书无疑提供了一个坚实而优雅的阶梯。它不是一本快餐式的速成指南,而更像是一部值得反复研读的工具书和思想启迪录。
这本书在介绍iOS系统底层机制方面的内容,其深度和广度都超出了我的预期。很多市面上同类书籍仅仅是浅尝辄止地提一下,但这本书却花了大量篇幅,细致地剖析了渲染管线、视图层级管理以及资源加载的优化策略。我特别关注了关于Core Animation的章节,作者对图层混合模式、离屏渲染的潜在性能陷阱进行了深入的分析,并给出了实用的性能调优建议,这些都是我在实际项目中摸爬滚打多年才隐约有所察觉的“黑箱”知识。更令人称道的是,作者并未固步自封于Apple官方的API,而是巧妙地穿插了一些社区里广为流传但鲜少被系统介绍的“最佳实践”和“黑科技”,这些内容极大地拓宽了读者的视野,让人感觉不仅仅是在学习一套框架,而是在了解一个充满活力和创新的生态系统。这本书的价值在于,它能让你停止对表象的盲目调用,转而探究“为什么是这样”,从而真正掌握控制权。
这本书的内容真是让人大开眼界,它深入探讨了Swift语言的一些高级特性,尤其是在内存管理和并发编程方面,给出了非常实用的指导。我以前在处理多线程任务时总是感觉力不从心,但读完这部分内容后,对GCD和OperationQueues的理解上了一个台阶。作者并没有停留在基础概念的罗列,而是结合大量的代码示例,清晰地展示了如何在复杂的应用场景中实现高效且安全的并发操作。特别是关于锁和信号量的应用,讲解得细致入微,让我对如何避免竞态条件有了更深刻的认识。书中对Swift的Protocol Oriented Programming(面向协议编程)的阐述也极其到位,它不仅仅是教你如何使用协议,更重要的是让你理解为什么这种范式在构建可维护、可扩展的iOS应用中如此重要。我个人最欣赏的是作者对设计模式在iOS开发中应用的独到见解,很多在实际工作中遇到的架构难题,都能在书中找到启发性的解决方案。阅读这本书的过程,就像是跟随一位经验丰富的大师傅在车间里学习精密仪器的调试,每一个细节都透露着匠心独运。
比较实用,但不够深入
差评 大片空白,大片截图
超薄一本书,号称进阶,其实入门都不算,内容都是introduction性质的。。细节和重点啥的基本没有(比如线程那节,好敷衍)。还不如看国外大牛的blog呢,干活多还不要钱。为啥唐巧在国内名声这么响号称大牛?github上没有牛逼项目,忽悠傻逼不懂英语的小白的吧,名副其实,比较失望。
超薄一本书,号称进阶,其实入门都不算,内容都是introduction性质的。。细节和重点啥的基本没有(比如线程那节,好敷衍)。还不如看国外大牛的blog呢,干活多还不要钱。为啥唐巧在国内名声这么响号称大牛?github上没有牛逼项目,忽悠傻逼不懂英语的小白的吧,名副其实,比较失望。
超薄一本书,号称进阶,其实入门都不算,内容都是introduction性质的。。细节和重点啥的基本没有(比如线程那节,好敷衍)。还不如看国外大牛的blog呢,干活多还不要钱。为啥唐巧在国内名声这么响号称大牛?github上没有牛逼项目,忽悠傻逼不懂英语的小白的吧,名副其实,比较失望。