iOS 以优雅的方式跟后台聊3840 之 接口调试“摇一摇”

背景

3840是调试接口时,经常遇到的问题

每次调试,都只能在 Xcode 的控制台查看日志

这意味着,每次都要先运行程序,才能查看具体原因

有没有一种方式

不用每次都在控制台看日志看数据

就能找具体的原因呢?


产生

经后台同事的提醒

想写一个调试接口的小工具

每次出问题时,可以把URL参数返回数据 都提供给后台调试

一直没想到一个好的方案

后来发现后台同事

每次调试接口时

都是在浏览器里调试的

于是就想到了用 webView

一套优雅的方式就诞生了


项目结构

  • 总共 5 个文件:
JHRequestDebugView.h
JHRequestDebugView.m
UIWindow+JHRequestDebugViewShake.h
UIWindow+JHRequestDebugViewShake.m
JSONFormat.html

调试窗口:JHRequestDebugView
摇一摇事件响应:UIWindow+JHRequestDebugViewShake
JSON格式化:JSONFormat.html

  • 配置:

AFN 请求后调用其中一之一:

// for GET
[[JHRequestDebugView defaultDebugView] jh_set_GET_URL:url parameter:dic];
// or
// for POST
[[JHRequestDebugView defaultDebugView] jh_set_POST_URL:url parameter:dic];
  • 示例
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
[manager GET:url parameters:dic progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
   //...
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
   //...
}];

// GET
[[JHRequestDebugView defaultDebugView] jh_set_GET_URL:url parameter:dic];
  • HTTPHeader 配置
    如果需要配置 HTTPHeader 信息
    JHRequestDebugView.m ,方法 - (void)xx_begin_debug; 内设置

  • 示例

// cookie
NSArray *array = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL:[NSURL URLWithString:@"www.haocold.com"]];
NSDictionary *cookdict = [NSHTTPCookie requestHeaderFieldsWithCookies:array];
NSString *cookie = cookdict[@"Cookie"];
if (cookie.length > 0) {
    [request setValue:cookie forHTTPHeaderField:@"Cookie"];
}
// token
NSString *token = [ToolObject jhGetLoginToken];
if (authorization.length > 0) {
    [request setValue:token forHTTPHeaderField:@"token"];
}
  • 最后

在请求接口后,摇一摇手机,就能调出调试窗口
此时,所有信息已经拷贝到 系统的
[UIPasteboard generalPasteboard].string = result;
可以通过QQ把信息发给后台,OK!搞定!

  • 图示
Screen Shot 2017-10-24 at 14.15.38.png
Screen Shot 2017-10-24 at 14.15.46.png
Screen Shot 2017-10-24 at 14.15.57.png
Screen Shot 2017-10-24 at 14.16.06.png

仓库


其他

CSDN: https://me.csdn.net/xjh093

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AGI阅读 16,018评论 3 119
  • 世上有许多迷人的字眼,“爱”“恨”“情”“愁”这一类,又不知生出多少故事。觉得现代人言语对此苍白,总不尽兴。不若时...
    薄情的世界深情地活着阅读 346评论 0 1
  • 2016年的秋天,我在北京。 去年的秋天,我还在杭州。已记不清杭州的秋天是什么样子,模糊一片,没什么记忆点。 今年...
    MrDream阅读 124评论 0 0
  • 崔哥哥常去图书馆3.5.7楼,小萌萌也去这几个楼层,在不知道的情况下,问:他们相遇的概率是多少? 答:九分之一。 ...
    梦子记阅读 136评论 0 0