iOS开发进阶 PDF 高清电子书 免费下载 完整版 在线阅读- 高飞网
iOS开发进阶

iOS开发进阶

唐巧 著
IOS
浏览人数:8
读者:                       ...
《iOS开发进阶》分工具、实践、理论三大部分。前一部分介绍iOS 开发的常用工具,第二部分介绍iOS开发中的一些常见的实践经验,第三部分介绍iOS 开发中涉及的原理。 
	如果把成为iOS 开发高手的过程比作武侠小说中的修炼过程的话,工具、实践和理论的学习就分别对应兵器、招式和内功的修炼。《iOS开发进阶》希望通过这三方面的综合讲解,全面提高开发者的技能水平。

推荐序   
第1 章引言 1   
1.1 我为什么要写本书 1   
1.1.1 我的构思 1   
1.1.2 内容导读 1   
1.1.3 目标读者 2   
1.1.4 随书示例代码和勘误 2   
1.1.5 致谢 2   
1.2 如何提高iOS 开发技能 3   
1.2.1 阅读博客 3   
1.2.2 读书 3   
1.2.3 看WWDC 视频 4   
1.2.4 看苹果的官方文档 4   
1.2.5 看开源项目的代码 4   
1.2.6 多写代码,多思考 4   
1.2.7 多和同行交流 5   
1.2.8 分享 5   
I 第一部分:iOS 开发工具   
第2 章使用CocoaPods 做依赖管理 9   
2.1 CocoaPods 简介 9   
2.2 CocoaPods 的安装和使用 10   
2.2.1 CocoaPods 的安装 10   
2.2.2 使用CocoaPods 的镜像索引 10   
2.2.3 使用CocoaPods 11   
2.2.4 查找第三方库 11   
2.3 注意事项 12   
2.3.1 关于.gitignore 12   
2.3.2 为自己的项目创建podspec 文件 12   
2.3.3 使用私有的pods 12   
2.3.4 不更新podspec 12   
2.3.5 生成第三方库的帮助文档 13   
2.3.6 原理 13   
第3 章网络封包分析工具Charles 15   
3.1 Charles 简介 15   
3.2 Charles 的安装和使用 16   
3.2.1 安装Charles 16   
3.2.2 安装SSL 证书 16   
3.2.3 将Charles 设置成系统代理 17   
3.2.4 Charles 主界面介绍 18   
3.2.5 过滤网络请求 18   
3.3 使用Charles 协助iOS 开发 19   
3.3.1 截取iPhone 上的网络封包 19   
3.3.2 模拟慢速网络 21   
3.4 高级功能 22   
3.4.1 截取SSL 信息 22   
3.4.2 修改网络请求内容 23   
3.4.3 修改服务器返回内容 25   
3.5 Map 功能 25   
3.6 Rewrite 功能 27   
3.7 Breakpoints 功能 29   
3.8 总结 30   
3.9 参考链接 30   
第4 章界面调试工具Reveal 31   
4.1 Reveal 简介 31   
4.2 Reveal 的使用 32   
4.2.1 用Reveal 连接模拟器调试 32   
4.2.2 用Reveal 连接真机调试 34   
4.2.3 用Reveal 调试其他应用界面 34   
4.2.4 总结 35   
4.2.5 参考资料 36   
第5 章移动统计工具Flurry 37   
5.1 Flurry 简介 37   
5.2 Flurry 的基本使用 38   
5.2.1 注册和下载对应SDK 38   
5.2.2 集成SDK 40   
5.2.3 自定义统计项 42   
5.2.4 查看统计结果 43   
5.2.5 统计Crashlog 44   
5.3 对比和总结 45   
5.3.1 和其他统计分析平台的对比 45   
5.3.2 总结 45   
第6 章崩溃日志记录工具Crashlytics 47   
6.1 Crashlytics 简介 47   
6.2 Crashlytics 的使用 49   
6.3 实现原理和使用体会 52   
第7 章App Store 统计工具App Annie 55   
7.1 App Annie 简介 55   
7.2 App Annie 的使用 56   
7.3 App Annie 账号的注册及配置 59   
7.4 和其他工具的对比 60   
7.4.1 官方的命令行工具 60   
7.4.2 其他类似服务 61   
7.4.3 功能对比 61   
第8 章Xcode 插件. 63   
8.1 Xcode 插件管理工具Alcatraz 63   
8.1.1 简介 63   
8.1.2 安装和删除 64   
8.1.3 使用 64   
8.1.4 插件路径 66   
8.2 关于Xcode 的插件机制 66   
8.3 常用Xcode 插件 66   
8.3.1 KSImageNamed 66   
8.3.2 XVim 67   
8.3.3 FuzzyAutocompletePlugin 67   
8.3.4 XToDo 67   
8.3.5 BBUDebuggerTuckAway 68   
8.3.6 SCXcodeSwitchExpander 68   
8.3.7 deriveddata-exterminator 68   
8.3.8 VVDocumenter 69   
8.3.9 ClangFormat 69   
8.3.10 ColorSense 69   
8.3.11 XcodeBoost 70   
第9 章其他工具介绍 71   
9.1 取色工具:数码测色计(DigitalColorMeter) 71   
9.1.1 前言 71   
9.1.2 使用介绍 71   
9.1.3 其他类似工具:xScope 72   
9.2 其他图形工具 73   
9.2.1 ImageOptim 73   
9.2.2 马克鳗 74   
9.2.3 Dash 74   
9.2.4 蒲公英 75   
9.3 命令行工具 75   
9.3.1 nomad 75   
9.3.2 xctool 76   
9.3.3 appledoc 76   
II 第二部分:iOS 开发实践   
第10 章理解内存管理 81   
10.1 引用计数 81   
10.1.1 什么是引用计数,原理是什么 81   
10.1.2 我们为什么需要引用计数 83   
10.1.3 不要向已经释放的对象发送消息 85   
10.1.4 循环引用(referencecycles)问题 85   
10.1.5 使用Xcode 检测循环引用 88   
10.2 使用ARC 90   
10.2.1 Automatic Reference Count 90   
10.2.2 Core Foundation 对象的内存管理 92   
第11 章掌握GCD 95   
11.1 GCD 简介 95   
11.2 使用GCD 97   
11.2.1 block 的定义 97   
11.2.2 系统提供的dispatch 方法 98   
11.2.3 修改block 之外的变量 99   
11.2.4 后台运行 99   
11.2.5 总结 100   
第12 章使用UIWindow 101   
12.1 UIWindow 简介 101   
12.2 为UIWindow 增加UIView 102   
12.3 系统对UIWindow 的使用 102   
12.3.1 WindowLevel 104   
12.3.2 手工创建UIWindow 105   
12.3.3 不要滥用UIWindow 108   
12.3.4 参考资料 109   
第13 章动态下载系统提供的多种中文字体 111   
13.1 功能简介 111   
13.1.1 前言 111   
13.1.2 功能介绍 112   
13.1.3 字体列表 112   
13.2 使用教程 113   
13.2.1 相关API 介绍 113   
13.2.2 总结 115   
第14 章使用应用内支付 117   
14.1 后台设置 117   
14.2 iOS 端开发 119   
14.3 服务端开发 121   
14.4 注意事项 122   
第15 章基于UIWebView 的混合编程 123   
15.1 混合编程简介 123   
15.2 使用模板引擎渲染HTML 界面 124   
15.3 Objective-C 语言和JavaScript 语言相互调用 126   
15.4 如何传递参数 129   
15.5 同步和异步 129   
15.6 注意事项 130   
15.6.1 线程阻塞问题 130   
15.6.2 主线程的问题 130   
15.6.3 键盘控制 130   
15.6.4 CommonJS 规范 130   
15.7 使用Safari 进行调试 131   
第16 章安全性问题. 135   
16.1 前言 135   
16.2 网络安全 135   
16.2.1 安全地传输用户密码 135   
16.2.2 防止通讯协议被轻易破解 137   
16.2.3 验证应用内支付的凭证 138   
16.3 本地文件和数据安全 138   
16.3.1 程序文件的安全 138   
16.3.2 本地数据安全 140   
16.4 源代码安全 140   
16.5 总结 142   
第17 章基于CoreText 的排版引擎 143   
17.1 CoreText 简介 143   
17.2 基于CoreText 的基础排版引擎 145   
第18 章实战技巧 181   
18.1 App Store 与审核 181   
18.1.1 撤销正在审核的应用 181   
18.1.2 申请加急审核 181   
18.1.3 应用在市场的名字 182   
18.1.4 测试设备数的限制 182   
18.1.5 如何将应用下架 183   
18.1.6 如何举报别的应用侵权 183   
18.1.7 iTunes Connect 后台操作出错 184   
18.1.8 Metadata Reject 184   
18.2 开发技巧 184   
18.2.1 UILabel 内容模糊 184   
18.2.2 收起键盘 184   
18.2.3 NSJSONSerialization 比NSKeyedArchiver 更好 185   
18.2.4 设置应用内的系统控件语言 185   
18.2.5 为什么viewDidUnload 被废弃 188   
18.2.6 多人协作慎用Storyboard 189   
18.2.7 避免滥用block 1 90   
18.2.8 合并工程文件的冲突 192   
18.2.9 忽略编译警告 193   
18.3 Xcode 使用技巧 193   
18.3.1 Xcode 快捷键 193   
18.3.2 查找技巧 195   
18.3.3 JavaScript 文件设置调整 195   
18.3.4 清除DerivedData 196   
18.3.5 target 信息异常 197   
18.3.6 下载Xcode 197   
18.4 调试技巧 197   
18.4.1 模拟器快捷键 197   
18.4.2 覆盖安装注意事项 197   
18.4.3 给模拟器相册增加图片 198   
18.4.4 获得模拟器中的程序数据 198   
18.4.5 安装旧版本的模拟器 199   
18.4.6 模拟慢速网络 199   
18.4.7 异常断点与符号断点 199   
18.5 ipa 文件格式 199   
18.5.1 查看ipa 的内容 199   
18.5.2 查看ipa 中的图片 200   
18.6 为工程增加Daily Build 201   
18.6.1 前言 201   
18.6.2 步骤 201   
18.6.3 遇到的问题 206   
18.6.4 总结 206   
18.7 使用脚本提高开发效率 206   
18.7.1 删除未使用的图片资源 206   
18.7.2 用脚本自动生成小尺寸的图片 207   
18.7.3 检查图片 208   
18.8 管理代码片段 209   
18.8.1 代码片段介绍 209   
18.8.2 定义自己的代码片段 210   
18.8.3 使用Git 管理代码片段 211   
18.8.4 其他代码片段管理工具 211   
III 第三部分:iOS 开发底层原理   
第19 章Objective-C 对象模型 215   
19.1 简介 215   
19.2 isa 指针 215   
19.3 类的成员变量 217   
19.4 对象模型的应用 220   
19.4.1 动态创建对象 220   
19.4.2 系统相关API 及应用 222   
19.4.3 参考文献 226   
第20 章Tagged Pointer 对象 227   
20.1 原有系统的问题 227   
20.2 Tagged Pointer 介绍 228   
20.2.1 Tagged Pointer 228   
20.2.2 特点 230   
20.3 注意事项和实现细节 231   
20.3.1 isa 指针 231   
20.3.2 64 位下的isa 指针优化 231   
20.3.3 isa 的bit 位含义 232   
20.3.4 总结 233   
20.3.5 参考文献 233   
第21 章block 对象模型 235   
21.1 block 的内部数据结构定义 235   
21.2 用clang 分析block 实现 237   
21.2.1 NSConcreteMallocBlock 类型的block 的实现 242   
21.2.2 变量的复制 243   
21.3 注意事项 243   
21.3.1 避免循环引用 243   
21.3.2 ARC 对block 类型的影响 244   
看过本书的人还看过