iOS 开发者必会的几项技能,不知不用你就OUT了

前言
一个多月的996生活,996并不算什么的,重点是996真的是996.几乎在这时间段里面全是不停地码代码,不过目前已经进入测试阶段,每天稍微改点小bug,空闲时间总算有了那么一丢丢。
兜兜转转写了好久,却一直没有正式的将这篇文章分享出去,说来甚是惭愧。主要是公司出现一些状态。。只可意会不可言传~~~
目录
一、Charles
1.1 Charles主要的功能
1.2 将 Charles 设置成系统代理
1.3 过滤网络请求
1.4 模拟慢速网络
1.5 修改网络请求内容
1.6 修改服务器返回内容
1.7 给服务器做压力测试
1.8 抓取手机App网络请求
二、Postman
三、在线转模型工具
四、json格式化
一、Charles
1.1 Charles主要的功能
1.截取Http、Https网络请求内容
2.支持修改网络请求参数,方便调试
3.支持网络请求的截取 并动态修改

1.2 将 Charles 设置成系统代理
启动 Charles 后,第一次 Charles 会请求你给它设置系统代理的权限。你可以输入登录密码授予 Charles 该权限。你也可以忽略该请求,然后在需要将 Charles 设置成系统代理时,选择菜单中的 “Proxy” -> “Mac OS X Proxy” 来将 Charles 设置成系统代理。如下所示:

其中Charles 主要提供两种查看封包的视图,分别名为 “Structure” 和 “Sequence”。
Structure 视图将网络请求按访问的域名分类。
Sequence 视图将网络请求按访问的时间排序。


不管使用哪种查看,自己喜欢就好。
1.3 过滤网络请求
在Filter 栏中填入需要过滤出来的关键字(可模糊搜索)

比如:

1.4 模拟慢速网络
在 Charles 的菜单上,选择Proxy ->Throttle Setting->Enable Throttling

如果我们只想模拟指定网站的慢速网络,可以再勾选上图中的 “Only for selected hosts” 项即可。
1.5 修改网络请求内容
我们可以修改该请求的任何信息,包括 URL 地址、参数等,之后点击 “Execute” 即可发送该修改后的网络请求(如下图所示)。Charles 支持我们多次修改和发送该请求,这对于我们和服务器端调试接口非常方便,如下图所示:

1.6 修改服务器返回内容
理由:iOS前端的开发人员独立完成测试而不用拉过来一个后端一起联调。并且各种特殊维度,或是临界的账号也不用再去辛苦找了,仅仅自己在青花瓷上改来改去就可以达到效果了。比如这个地方如果返回了nil程序会不会崩,直接改response就行了
步骤:
首先 要保证是开启请求断点是打开的
选择要修改的接口内容 ,勾选Breakpoints
打开青花瓷切换成结构页面,切换成Structure


点击Execute之后,修改内容

没改之前


改完之后


1.7 给服务器做压力测试
接着我们就可以在弹出的对话框中,选择打压的并发线程数以及打压次数,确定之后,即可开始打压。(开发部建议使用,这是测试的活,不能端了人家的饭碗)


1.8 抓取手机App网络请求
在 Charles 的菜单栏上选择 “Proxy”->”Proxy Settings”,填入代理端口 8888
并且勾上 “Enable transparent HTTP proxying” 就完成了在 Charles 上的设置

获取 Charles 运行所在电脑的 IP 地址,Charles 的顶部菜单的 “Help”->”Local IP Address”,即可在弹出的对话框中看到 IP 地址

号外号外:
笔者之前有写过抓取手机的接口 点我查看
二、Postman
相信这个是很多开发者必备的。
Postman破解版下载地址点我

POST参数请求格式:
表单提交 (也有少量使用表单)

JSON提交(很多都是使用json)

xml提交(现在很少有这种,几乎没有)

三、在线转模型工具 网络地址
挺好使的一款工具,不用下载,直接在线转即可。

四、json格式化 json在线格式化
使用他的主要是什么呢?一美观,其二看数据格式方面
