问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

iOS开发进阶的目录

发布网友 发布时间:2022-04-12 13:25

我来回答

1个回答

热心网友 时间:2022-04-12 14:54

推荐序. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
第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 取色工具:数码测色计(DigitalColor Meter) 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 循环引用(reference cycles)问题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 190
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

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苏打地牢500层boss怎么打 苏打地牢500层boss打法攻略 隐形眼镜用水龙头水泡着可以么 ...还有些痒痒的 越来越多的趋势 请问这是什么原因引起的 长安univ智电idd改无线充怎么改的 山药泥火龙果的做法 铜合金好还是纯铜好 铜合金和铜哪个好 合金为什么比铜要好 合金和铜哪个好 音乐风格要素主要包括 四川的蚕茸柱天胶囊好不好? 蚕茸柱天胶囊与海狗油问题 蚕茸柱天胶囊属于医保范围内的药吗? 蚕茸柱天胶囊可以治早泄吗? 蚕茸柱天胶囊吃了有什么效果 能持续多久 小学三年级日记怎么写100字左右 上海迪士尼停车怎么收费 上海迪士尼停车费是多少一天?急急急 迪士尼停车贵吗? 上海迪士尼小镇停车有十块钱一个小时的吗? 上海迪士尼小镇停车有十块钱一个小时的吗 急、在日本的朋友、知道开车去东京迪士尼玩车有没有便宜点的停车地方、或者说便宜点的ホテル 上海迪士尼停车哪里便宜 上海迪士尼停车太贵,有其他便宜的没 上海迪士尼停车周边停车方便去迪士尼吗,收费怎么样? 上海迪士尼周边有停车场吗?有没有便宜点的? 迪士尼停车费下午几点优惠 迪士尼周边停车收费? 上海迪士尼的停车场有性价比好的推荐吗? 迪士尼检票口最近的停车场 克旨达蚕茸柱天胶囊是金黄色的胶囊吗 请问一下谁知道蚕茸柱天胶囊治肾阳虚还是肾阴虚,知道得回答下,谢谢! 服用蚕茸柱天胶囊是否影响精子成活率 吃了半个月的蚕茸柱天胶囊为什么连勃起的迹象也没有呢 前列腺炎 本人锻炼PC肌后,感觉上厕所有点尿收缩痛! 国药准字治疗早泄阳痿的药有哪些 治疗阳痿切不可盲目用药 请专家帮忙分析下 前列腺检查结果!『高分』 被冻结,解冻不成功怎么办? 如何解冻 华为手机状态栏的这个长方形图标是什么 有QQ发片的机器人吗,有的话发给我? 油桃树苗是种子种出来的吗 qq聊天一天可以发多少图片? 油桃树苗什么时候栽培成活率才高 来个空间有片的QQ发我邮箱1521694435@qq.com 7-17油桃树苗优缺点品种介绍 试卷答题卡在页边距之外不能打印出来怎么办? 在QQ上加了一个人,她去我的空间保存了我的照片,然后每天发我的照片和一些网上暴露图片,然后问我要钱 新品种油桃树苗价格多少钱一棵 QQ you xiang 625585938发片吧,朋友,MP4格式的,多谢