搞iOS开发的同学们估计会经常遇到各种需要获取当前的url的需求,web页面需要查看url是否正确,server端需要验证下url参数,测试需要看下url的全链等等。
网上的大神们各种攻略,各种玩转Charles(青花瓷,一款代理软件,很好用也很强大,没用过的网上科普教程吧!),但是手机又要改代理又要换端口,如果仅仅是为了查看一下当前的url或者拉取数据的接口,这种操作在我看来就比较繁琐了,甚至有时候忘记关闭代理导致测试的App没有数据,还以为服务器挂掉了。
下面介绍下用NSURLProtocol截获url的方法来快速获得所需的url以及url包含的各种信息。
工具截图:
![2.png](https://img.haomeiwen.com/i2310905/ffdc564433bed04a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/330)详见代码。
-
JHURLAnalyseProtocol是url截获工具关键类,继承自NSURLProtocol
-
JHURLAnalyseManager是管理类,其中包含了注册的一些公共方法。
-
也包含了一些调试信息,debug output可以查看。
下面介绍下使用方法:
如果项目中第三方管理软件是用pod 管理可以直接在teminal中输入 pod search JHURLAnalyseTool集成。
注册方法如下,最好是在debug模式下注册,release包不需要展示工具页面
[NSURLProtocolregisterClass:[JHURLAnalyseProtocolclass]];[[JHURLAnalyseManagerdefaultManager]registerUrlAnalyse];
我目前使用的是CMMotionManager陀螺仪来加载工具页面,所以在真机调试时,晃动手机就会模态show出工具页面。
希望此工具能方便同学们的调试工作,喜欢的可以给个star!
网友评论