【虚拟定位 第1期】iPhone无需越狱的软件定位测试教程|Shadowrocket、WLOC安装与恢复真实定位
本文记录一套无需越狱、无需尾插硬件的 iPhone 软件定位测试方法。核心思路是通过 Shadowrocket 安装 WLOC 模块,处理 Apple 网络定位服务返回的坐标,再配合快捷指令或网页地图选择测试位置。
首次发布:2026年7月15日 | 本次修订:2026年9月22日 | 作者:我爱研究.ILovestudy
这不是“万能改定位”工具。iPhone 的定位结果可能同时参考 GPS、Wi‑Fi、蓝牙与移动网络信息,不同 App 还会采用自己的风控和校验方式。因此,本文只说明设备测试流程、恢复方法和常见故障排查,不保证所有应用都能获得相同结果。
一、适用场景与测试环境
- 适合:地图功能测试、应用开发调试、自动化流程验证,以及个人设备上的定位功能研究。
- 设备:iPhone 或 iPad;系统菜单名称可能因 iOS/iPadOS 版本不同而略有变化。
- 工具:Shadowrocket、WLOC 模块、快捷指令或 WLOC 网页。
- 网络:安装证书和加载网页时,需要设备能够正常访问对应服务。
二、软件方案与硬件方案的区别
| 对比项目 | WLOC 软件方案 | 尾插/外接硬件 |
|---|---|---|
| 是否越狱 | 不需要 | 通常不需要 |
| 额外设备 | 不需要尾插 | 需要连接外设 |
| 主要原理 | 处理网络定位请求 | 模拟或干预 GPS 信号 |
| 恢复方式 | 关闭模块/解密并恢复真实位置 | 断开硬件后重新定位 |
三、开始前的准备
- 确认 Shadowrocket 已能正常运行。
- 暂时关闭不需要的代理规则,避免安装过程被其他配置干扰。
- 记录设备当前真实位置,完成测试后用于核对是否恢复。
- 不要在出行、支付、考勤或紧急服务等重要场景中测试。
四、安装 WLOC 模块
在 Shadowrocket 中进入模块管理,添加下面的模块地址:
粘贴地址后下载并启用模块。如果以后地址或模块内容发生变化,可以到 WLOC GitHub 项目页查看说明。
五、生成并安装 Shadowrocket CA 证书
WLOC 需要处理指定的 Apple 定位请求,因此必须先在 Shadowrocket 中生成 CA 证书。证书只用于本教程涉及的 HTTPS 解密配置;请勿安装来源不明的证书。
- 打开 Shadowrocket 的“设置”。
- 找到 HTTPS 解密或证书相关选项,选择生成新的 CA 证书。
- 按系统提示允许下载描述文件。
- 进入 iPhone“设置”,安装刚刚下载的描述文件。
六、信任证书并开启 HTTPS 解密
- 进入“设置 → 通用 → 关于本机 → 证书信任设置”。
- 找到刚安装的 Shadowrocket CA,并开启完全信任。
- 返回 Shadowrocket,打开 HTTPS 解密。
- 确认 WLOC 模块仍处于启用状态,然后重新连接 Shadowrocket。
提示:如果系统菜单中找不到“证书信任设置”,通常表示描述文件尚未正确安装。先返回上一节重新核对。
七、使用快捷指令设置和恢复位置
推荐分别安装“设置位置”和“恢复位置”两个快捷指令,测试结束后可以快速恢复真实定位。
首次运行时,系统可能询问网络访问、位置或快捷指令权限。只授予完成当前操作所必需的权限,并先阅读快捷指令中的动作内容。
八、通过地图分享位置
- 在 Apple 地图或其他支持分享坐标的地图中选定地点。
- 点击“分享”,选择 WLOC 设置位置快捷指令。
- 等待快捷指令执行完成,再重新打开需要测试的应用。
- 如果结果没有更新,先完全关闭目标 App,再重新打开。
九、使用 WLOC 网页选择位置
不方便使用地图分享时,也可以打开 WLOC 网页定位工具,在网页地图中选择位置并按页面提示应用。
十、如何恢复真实位置
- 先运行“WLOC 恢复位置”快捷指令。
- 在 Shadowrocket 中关闭 WLOC 模块和 HTTPS 解密。
- 断开并重新连接网络;必要时开启再关闭飞行模式。
- 完全退出地图和目标 App 后重新打开,核对真实位置。
- 如果长期不再使用,可在系统设置中删除 Shadowrocket CA 描述文件。
十一、常见问题排查
1. 模块已启用,但位置没有变化
依次检查 CA 是否安装并信任、HTTPS 解密是否开启、WLOC 模块是否启用,以及 Shadowrocket 是否已经重新连接。然后关闭目标 App,再重新测试。
2. 地图变化了,但某个 App 没有变化
该 App 可能还会参考 GPS、基站、Wi‑Fi、账号地区或历史行为,也可能缓存上一次位置。这属于应用自身的定位或风控逻辑,不能仅靠网络定位模块保证修改。
3. 快捷指令无法运行
先检查快捷指令的网络与位置权限,再确认 Shadowrocket 正在运行。若快捷指令来源或动作内容发生变化,请暂停使用并重新核对。
4. 测试结束后仍显示旧位置
先运行恢复快捷指令,再关闭模块和 HTTPS 解密,重连网络并重启目标 App。仍未恢复时,可重启设备并等待系统重新获取真实定位。
十二、视频教程与后续内容
十三、使用说明与责任提示
本文仅用于个人设备研究、软件开发测试和定位功能验证。请遵守所在地法律、平台规则及所在组织的管理制度。不要把虚拟定位用于考勤作弊、交易欺诈、绕过地区限制、干扰紧急服务或其他未经授权的用途。第三方模块、快捷指令和网页服务可能随时变化,使用前请自行核对来源与权限。
如果你在某一步遇到问题,建议记录:iOS 版本、Shadowrocket 版本、模块是否启用、证书是否受信任,以及发生问题的具体步骤。这样更容易定位原因。
评论
发表评论