0. 系列前言

最近准备介绍几个我日常开发中常用且好用的工具,通过这些开发者创造出的工具,节约了我成吨的时间和精力。本文作为这一系列的第一篇文章,主要介绍网络编程和调试工具 Surge

1. 简介

Surge 可以说是一个饱受争议的 APP,作为最早一批从 App Store 购入初代 Surge 的用户来说,我最早购买 Surge 的目的也非常单纯,仅只是为了能够在 iOS设备上科学上网。

客观的说,Surge 作为 iOS 平台上的科学上网工具非常趁手,除了价格昂贵之外几乎没有缺点。然而,作为一个真正的网络调试工具,Surge 其实可以在我们的日常开发工作中提供巨大的帮助,这是我在购买之初完全没有意料到的。

2. 使用场景

由于本文不是 Surge 的产品说明书,因此我不会面面俱到的介绍各种 Surge 的功能,我将会以我日常开发的具体场景作为背景,介绍几个使用频率最高的功能。

场景1: 用户反馈线上 APP 数据错误

常规操作

从 Git Tag 切出生产代码 ==> 找到对应功能代码 ==> 打断点 ==> 编译运行 ==> 查看接口返回的数据

全程消耗 10 分钟,如果出错的地方涉及多个接口调用则调试时间更久。

使用 Surge

测试机安装生产 APP ==> 找到出错的页面 ==> 启动 Surge Dashboard ==> 查看接口返回的数据 ==> 甩锅给后端

全程最多 2 分钟搞定。

3. 小结

优点

  • 界面美观
  • 支持 https 解密
  • 支持多种抓包方式:在iOS上直接抓包 \ 作为网关抓包 \ 作为代理抓包

缺点

  • 贵,iOS / Mac 单平台售价都在 $50 左右
  • 仅支持 iOS / Mac 平台