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

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

作者: 豪冷 | 来源:发表于2018-09-05 08:41 被阅读51次

    背景

    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

    相关文章

      网友评论

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

          本文链接:https://www.haomeiwen.com/subject/mopowftx.html