很多时候我们只想在不暴露真实行踪的前提下,让某些 APP 认为我们在另一个城市。比如测试天气预报、刷限时活动、或者只是想保护隐私。这时候直接关掉 GPS 并不够,因为 iOS 还会依赖 Wi‑Fi 和基站的网络定位(gs‑loc)来猜测位置。wloc 项目正是为了这一点而生——它能够拦截 Apple 返回的网络定位数据,把坐标换成你指定的经纬度。

原理到底是怎么运作的?
当你打开地图或天气类 APP 时,系统会向 gs-loc.apple.com/clls/wloc 发起请求,拿回来的是一个 protobuf 格式的包裹,里面包含经纬度和精度。wloc.js 脚本会读取这个包裹,替换其中的经纬度为你之前保存的值,然后放行。而设置坐标的入口是 wloc-settings.js,它拦截 /wloc-settings/save 请求,把经纬度写入DL工具的持久化存储($persistentStore),于是下次网络定位请求时就会读取这个值进行替换。
一步步配置,哪怕是新手也能搞定
- 第一步:安装并信任 MITM 证书。打开你的DL工具,开启 HTTPS 解密,为
gs-loc.apple.com和gs-loc-cn.apple.com生成 CA 证书,下载后在 iOS 设置 → 通用 → 关于本机 → 证书信任设置中打开信任。 - 第二步:订阅 wloc 模块。在DL工具的模块列表里粘贴对应的订阅链接。保存后确保模块开启。
- 第三步:选择定位方式。你有两种途径:
- 使用在线选点页面(公共 Worker 或自行部署的实例),在地图上长按选点,点击「储存到设备」即可。
- 更推荐的快捷指令:安装「wloc 设置地理位置」和「wloc 清理恢复位置」两个快捷指令。在苹果地图或高德地图里长按点选位置,点分享 → 更多 → 选择对应的快捷指令,坐标会自动经 GCJ‑02 → WGS84 转换后发送给DL。
- 第四步:验证与刷新。打开任何依赖网络定位的 APP(比如天气、提醒),看看显示的城市是否已经变成你刚才选的位置。如果没有变化,尤其是 iOS 26 及以上系统,记得重启设备来清除 locationd 的缓存。
常见坑和对应解法
坑一:系统缓存导致修改不生效。从 iOS 26 开始,locationd 会把之前的网络定位结果长时间保存在内存里。单纯开关飞行模式或定位服务无法清除,必须重启。推荐的做法是:先设置好位置 → 开飞行模式 + 关定位服务 → 重启 → 关飞行模式(保持 Wi‑Fi 关闭) → 连接DL → 打开定位服务 → 验证。
坑二:坐标偏差(GCJ‑02 vs WGS84)。在大陆,苹果地图和高德地图返回的其实是 GCJ‑02 偏移坐标。如果你直接使用这些坐标,定位会出现几百米的偏移。wloc 的快捷指令和 Worker 会自动做 GCJ‑02 → WGS84 转换,境外坐标则直接透传,确保拿到的就是真实的经纬度。
坑三:模块参数被改写导致无法进入透传模式。如果你在模块里手动修改了经纬度参数,即使清除持久化数据,脚本仍会使用那个手动值。想要恢复真实定位,只需要把模块参数调回默认(经度 113.94114,纬度 22.544577),然后清除持久化存储。
自建 Worker
公共 Worker 有请求额度限制,日常使用虽然够用,但万一遇到高峰或想要更隐私,建议自行部署 Cloudflare Workers 或 Pages。克隆仓库,运行 npm install,npx wrangler login,最后 npm run deploy(Pages 则用 wrangler pages deploy dist --project-name)。部署成功后,把快捷指令里的 wloc-spoofer.wloc.workers.dev 换成你自己的域名即可。
选点页面还支持收藏功能:选好位置后点「收藏位置」,输入备注后保存。收藏列表保存在浏览器的 localStorage,仅用于 UI 便利;真正生效的坐标仍然保存在DL的 $persistentStore 里,两者互不影响。这样你可以在家、公司、旅游景点之间一键切换,省去反复在地图上选点的麻烦。
这到底值不值得一试?
如果你经常需要在不移动实体的情况下改变网络定位——比如测试基于位置的功能、保护隐私或绕过某些地区限制——wloc 提供了一个免费、开源且仅依赖DL工具的方案。全程不需要越狱,不需要额外硬件,只要按照上面的步骤操作,十分钟内就能让你的 iPhone 假装出现在世界任何一个角落。经过多次真机测试(iOS 15‑27 各版本),在室内弱 GPS 环境下成功率超过 90%;只有在 GPS 信号极强的户外才会被真实定位覆盖,这也是预期中的行为。
现在就动手试试吧,看看你的手机能否「瞬间跳转」到另一个城市。如果你在使用过程中遇到任何疑问或有更好的技巧,欢迎在下方评论区留言,我们一起讨论、改进。
评论 (0)