如果你做过这些功能,就会知道一个问题,光靠手动跑地图基本测不过来,比如

  • 外卖配送范围
  • 城市切换内容
  • 附近的人 / 门店
  • 地区限制策略

尤其是涉及多个城市、多种边界条件的时候,测试成本会迅速上升。

所以在实际开发里,我通常会直接改设备的定位数据来验证逻辑。


为什么我不直接用手机改定位

很多人第一反应是用手机里的定位设置改一下?

但实际上:

  • iOS 不允许随意修改 GPS
  • 模拟器又不等于真实的设备
  • App 行为在真机和模拟器差异很大

所以如果是要验证真实环境表现,还是要在真机上操作。


常见几种方式

方式一:Xcode 模拟定位

适合开发阶段:

  • 可以设置 GPX 路径
  • 可以模拟移动轨迹

但有几个问题:

  • 需要 Mac
  • 测试同学不方便使用
  • 不适合快速切换多个城市

方式二:第三方虚拟定位 App

有些 App 可以做位置修改,但限制很多:

  • 兼容性不稳定
  • 容易被 App 检测
  • 操作不够直观

实际用下来较稳定的一种方式

在项目测试中,我更常用的是通过设备工具直接修改 GPS。

我这边用的是 克魔开发助手(Keymob)


实际操作流程(可以直接照做)


1 连接设备

  • 用 USB 连接 iPhone
  • 打开克魔开发助手

设备识别成功后,会看到设备信息界面。


2 进入常用操作

在设备信息页面中,可以看到一个区域:

常用操作

这里包含:

  • 重启设备
  • 重命名
  • 虚拟定位
  • 截图

3 打开虚拟定位

点击虚拟定位


4 输入经纬度

这里有一个关键点,一定要用准确经纬度

可以通过地图工具获取,例如:

  • 百度地图 / Google Maps
  • 右键复制坐标
    经纬度

例如:

上海:31.2304, 121.4737
北京:39.9042, 116.4074

5 确认修改

输入后点击确认修改


6 验证是否生效

方法一:打开地图 App

  • 查看当前位置
  • 是否已经跳转

方法二:打开目标 App

  • 看内容是否变化
  • 比如城市、推荐内容

进阶一点:结合日志看行为

有时候仅看 UI 不够。

比如:

  • 为什么内容没变化
  • 是否请求了错误接口

配合实时日志使用

我会同时打开实时日志

观察:

  • 网络请求地址
  • 参数中的定位信息

这样可以确认App 是否真的使用了新的 GPS


再进阶:和性能测试一起用

有些场景下,位置变化会影响性能:

  • 地图加载
  • 数据请求量
  • 图片资源

这时候可以结合性能图表(CPU / 内存)

边切换位置,边观察变化。