Apple 虚拟定位(WLOC)完整教程:无需尾插,软件层面改定位
Apple 虚拟定位(WLOC)完整教程:无需尾插,软件层面改定位
本教程整合自以下两篇文章的全部内容:

一、方案原理
本方案的核心原理是修订 Apple 网络定位服务返回的坐标,从而实现 iOS 和 App 的网络虚拟定位。
Apple 系统定位并不局限于 GPS,同时还会参考蓝牙、WiFi 热点、信号塔基站位置,位置数据信息供 iOS 和 App 应用调取使用。多维度检测数据提供高精度位置信息,同时避免 GPS 模块无信号或失效导致的定位失败。

二、两种实现方案对比
传统方案:尾插 GPS 模块
市面上所有修订位置定位,必须加装尾插 GPS 模块,同时配合 GPS 软件 App 实现位置定位。
- 优点:无损加装,无需越狱,即插即用便捷。
- 缺点:iOS 系统升级无法使用;需购买加装模块。
我爱研究方案:WLOC 模块(修订返回坐标)
通过修订返回的坐标来实现定位,无需任何硬件。
- 优点:无需越狱,无需尾插,不限制 iOS 系统(测试 iPhone 17 Pro / iOS 26.5.2 进行测试)。
- 缺点:需要美区 Apple ID,下载代理软件(测试软件 Shadowrocket),需要可用节点。
| 对比项 | 传统方案(尾插 GPS 模块) | 本教程方案(WLOC 模块) |
|---|---|---|
| 实现方式 | 加装尾插 GPS 模块,配合 GPS 软件 App | 修订 Apple 网络定位服务返回的坐标 |
| 是否越狱 | 无需越狱 | 无需越狱 |
| 硬件依赖 | 需购买并加装模块 | 无需尾插 |
| 系统兼容 | iOS 升级后失效 | 不限制 iOS 系统(已测试 iPhone 17 Pro / iOS 26.5.2) |
| 必备条件 | 模块 + GPS App | 美区 Apple ID + Shadowrocket + 可用节点 |
功能版本:老版本 vs 模块优化版
老版本功能:
- 模块拦截 Apple 定位并改写
- 网页选点、拖动定位、搜索地名
- 储存到设备 / 清除数据
- 收藏位置
- 高德 / 苹果 / Google 分享链接解析
模块优化版:
- 【稳定性】 二进制代码流程优化处理,避免「沙盒有坐标、系统不改位」。
- 【响应快】 沙盒为空时直接透传真实定位,本地处理;沙盒有坐标直接修改坐标。
- 【更好用】 推荐使用地图分享成功率 100%,支持快捷键定位。
- 【更方便】 支持一键快捷定位和自动化。
- 【网页入口】 新增「环境安装」:模块安装、iOS 定位键、iOS 恢复键,方便首次配置。
三、准备工具(只做一次)
-
美区 Apple ID(下载代理软件用):

-
Shadowrocket(小火箭,或同类兼容工具):

-
可用的代理节点:

-
(可选)安装快捷指令:
- 定位键(写入坐标)
- 恢复键(清空沙盒,恢复真位置)
四、环境搭建(实操环境搭建环节,只做一次)
前提:已配置小火箭(或同类代理)+ 模块的前提下,修订成指定的坐标。
1. 安装并开启 Shadowrocket
从 App Store 下载并安装 Shadowrocket。
2. 下载配置文件(WLOC 模块)
配置 → 模块 → 右上角 + 号 → 添加配置 URL 下载:
https://raw.githubusercontent.com/hankinsus/wloc/refs/heads/main/modules/wloc.module


3. 安装证书
第一步:生成并安装 CA 证书
配置 → 点击 default.conf 小圆圈!→ HTTPS 解密 → 生成新的 CA 证书 → 安装证书 → 强制安装证书 → 允许


第二步:安装描述文件
设置 → 已下载描述文件 → 一路安装


第三步:信任证书
设置 → 关于本机 → 证书信任设置 → 开启 Shadowrocket → 继续


4. 开启 HTTPS 解密
配置 → 点击 default.conf 小圆圈!→ HTTPS 解密 → 开启 HTTPS 解密 → 打勾

5. 开启节点
全局路由 → 勾选配置 → 返回 → 开启火箭


⚠️ 注意:模块未加载或 MITM 未开启时,写入和改位都不会生效。
五、安装快捷指令
1. 添加快捷定位(定位键)
点击链接添加定位键快捷指令(写入坐标):
https://www.icloud.com/shortcuts/2a811c3bac0e4694b1875ae45b26ab0d

2. 添加恢复定位(恢复键)
点击链接添加恢复键快捷指令(清空沙盒,恢复真位置):
https://www.icloud.com/shortcuts/9092b1a576cf4b7c8bc0dd931ba512a6

六、日常怎么用(推荐地图分享)
方式 A:网页选点(最直观)
- 打开 WLOC 虚拟定位网页。
- 地图上点选 / 拖动大头针 / 搜索地名。
- 点「储存到设备」。
- 打开或刷新需要定位的 App(必要时开关一次定位权限)。
GitHub 官方使用流程(补充):
- 订阅模块并启用 MITM
- 打开在线选点页面(公共 Worker,建议添加到主屏幕)
- 地图选位置 / 搜索地名 / 粘贴地图链接
- 点击「储存到设备」
- 下次 Apple 定位触发时自动生效
- 支持 Apple Maps / Google Maps / 高德 / 百度 / 坐标文本 链接解析
方式 B:高德 / Apple 地图分享(成功率通常最好)
- 高德里选好点 → 分享 → 在「更多」里找到 WLOC 设置位置 → 点击。
- 等待提示写入成功 → 关闭定位 → 开启定位。
- 再打开目标 App 看定位。


方式 C:直接存坐标(效率高可自动化)
- 已有经纬度时,用「直接存储」类快捷指令写入。
- 适合精确数值,部分场景成功率略低于高德分享。
方式 D:自动化定位
方式:通过 Apple 快捷方式实现。
- 配置小火箭使用场景。
- 配置 Apple 快捷方式 + 调用小火箭使用场景。
自动化示例:
七、恢复真实定位
使用以下任一方式:
- 运行恢复键快捷指令;或
- 在 WLOC 网页点击「清除数据」。
沙盒清空后,模块会透传,不再改定位。

八、适用范围与注意事项
适用:需要临时改定位、测试、演示等场景。
可靠性:室内、地下室、室外 GPS 或基站信号弱等场景。
不保证:室外强 GPS、且与基站位置近的场景,有效使用。
说明:本教程对应模块优化版。相对老版本:统一沙盒写入、无数据透传、强化对 Apple 定位接口的二进制改包,日常推荐「网页选点」或「高德分享 + 快捷指令」。不支持依赖 Google 短链自动解析;恢复定位请用恢复键或网页清除数据。
iOS 26/27 及更高版本注意事项
Apple 从 iOS 26 开始大幅强化了 locationd 的定位缓存机制,系统会将之前获取的真实定位结果缓存在内存中并长时间复用。这意味着安装模块或切换目标坐标后,即使脚本已成功修改 WLOC 响应(日志显示「已修改」),系统仍可能继续使用缓存中的旧坐标,导致定位看起来没有变化。
解决方法:重启设备。 重启会清空 locationd 的内存缓存,系统重新发起 WLOC 请求时会拿到修改后的坐标。飞行模式开关、关闭定位服务等方式在 iOS 26+ 上无法清除此缓存,必须重启。iOS 15~18 通常不需要重启即可生效。
高版本系统推荐操作流程(成功率最高):
方法一:
- 先在选点页面选好需要修改的定位并储存到设备。
- 开飞行模式 → 关闭定位服务 → 重启设备。
- 关闭飞行模式(WiFi 也要关)→ 连接代理工具(确认 VPN 图标出现)→ 打开定位服务。
- 打开地图验证。
方法二:
- 关闭定位服务。
- 在选点页面选好位置并储存到设备。
- 打开定位服务 → 弹出「允许访问位置信息」时选择**「下次询问或在我共享时」**。
- 打开地图验证。