WLOC

How WLOC works

技术原理,讲清每一层

WLOC 不直接写入 iPhone 的 GPS 硬件。它把地点输入变成可复现的标准坐标,本机保存测试配置,准备受支持的授权测试链路,再用诊断和恢复步骤确认实际结果。

App Store 上架名称为「WLOC」。如果直接链接打开了地区首页,请在 App Store 搜索「WLOC」。

01输入地图链接或经纬度
02解析识别来源与原始坐标系
03规范统一保存为 WGS84
04准备生成受支持的测试设置
05验证检查请求、结果与路线状态
06恢复清除目标并确认回到直通

直接回答

30 秒理解 WLOC

输入地图链接或经纬度后,WLOC 识别来源坐标系并统一为 WGS84;收藏、路线和设备配置以 JSON 保存在 App 的本机目录;官方 Worker 负责实时解析、转换、健康检查和设置资料生成;兼容的授权测试链路读取当前目标并产生可观察结果;清除目标后回到真实网络定位直通状态。GPS、iOS 权限、App 缓存和服务端规则仍然独立生效。

依赖说明

网络定位响应测试还需要一款兼容客户端

WLOC 本身不是 VPN,也不会安装网络隧道或系统信任材料。坐标管理可以独立使用;进入网络定位测试链路时,需要用户另行选择并配置一款受支持的第三方网络客户端。

查看软件清单、证书风险与 WPS 原理 →

Architecture

从输入到恢复的完整数据流

每一步都有明确输入、输出和验证点,所以失败时可以定位到具体一层,而不是只看地图圆点猜测。

01输入地图链接或经纬度
02解析识别来源与原始坐标系
03规范统一保存为 WGS84
04准备生成受支持的测试设置
05验证检查请求、结果与路线状态
06恢复清除目标并确认回到直通
01

输入层

把真实地图输入变成结构化坐标

解析器接受直接经纬度、Apple Maps、Google Maps、高德和百度等常见链接。它从 URL、查询参数或页面响应中提取地点名称和坐标,并返回来源、置信度、原始坐标系与警告。

  • 输入长度受限,坐标必须在纬度 ±90、经度 ±180 的合法范围内。
  • 短链最多跟随有限次数跳转,并拒绝访问本机、内网和云元数据地址。
  • 无法识别时返回明确错误,不会猜一个看似合理的地点。
输入  https://maps.google.com/.../@37.795490,-122.393700
输出  source=google_maps · system=WGS84 · confidence=0.94
02

坐标层

内部统一使用 WGS84

不同地图可能展示 WGS84、GCJ-02 或 BD-09。WLOC 保留原始坐标和值,同时把内部目标统一到 WGS84,并将结果保留到小数点后 6 位,便于收藏、路线和回归测试复用。

  • 高德及中国大陆语境下的部分地图输入按 GCJ-02 处理。
  • 百度输入按 BD-09 处理,并经过 GCJ-02 转换到 WGS84。
  • 中国大陆范围外跳过国内坐标偏移;转换结果会提示可能存在米级误差。
original  31.230416, 121.473701 · GCJ-02
canonical 31.xxxxxx, 121.xxxxxx · WGS84
03

本机数据层

收藏、路线和配置默认留在 iPhone

WLOC 将当前目标、收藏、路线、设备配置、诊断事件和设置编码为 JSON,原子写入 App 的 Application Support 目录。重新打开 App 后会从该快照恢复,不需要创建云端账号。

  • 收藏地点和路线不是默认上传到可搜索的坐标历史。
  • 重置或卸载 App 会移除本机快照;导出由用户主动触发。
  • 解析和转换请求只为实时响应服务,页面会明确区分本机数据与官网分析数据。
04

授权测试层

目标坐标进入受支持的测试链路

WLOC 根据当前目标和设备配置准备官方设置资源。在兼容且已获授权的环境中,保存的目标坐标优先于默认值;没有目标时,链路保持直通,不替换真实网络定位结果。

  • 这是网络定位测试链路,不是对 GPS 接收器或 Core Location 的全局写入。
  • 静态目标用于单点状态;路线会按节点、时间和暂停状态推进。
  • 目标 App 是否采用该结果,仍取决于自身权限、缓存、账号和服务端判断。
mode=active  → 使用已保存测试目标
mode=route   → 使用当前路线节点
mode=passthrough → 保留真实网络定位结果
05

证据层

诊断检查的是整条链路,而不是一个开关

诊断先检查官方 Worker 是否可达,再检查设备设置是否启用、当前模式、目标坐标、路线状态,以及最近是否观察到定位请求和相应结果。这样可以区分服务、设置、请求、缓存和目标 App 表现。

  • 服务健康检查会返回环境和版本,避免把服务不可用误判为定位失败。
  • 设备状态区分 active、route 与 passthrough,并记录最近的保存、清除、请求和结果时间。
  • 路线运行但尚未出现请求,或已观察请求但结果未确认时,会给出不同警告。
06

恢复层

恢复不是附加功能,而是测试闭环

停止路线或清除目标后,WLOC 让测试链路回到 passthrough。随后需要重新打开目标 App,确认旧城市、旧围栏或附近列表没有继续来自缓存。

  • WLOC 可以清除自身目标和路线状态,但不能强制关闭其他 App。
  • 它不能替 iOS 清理系统级 locationd 缓存。
  • 完整证据应同时包含测试状态和恢复后的真实状态。

WGS84 · GCJ-02 · BD-09

为什么坐标系会造成“看起来改错了”

同一个地标在不同坐标系下可能出现明显偏移。WLOC 同时保留原始值和标准值,让团队能判断问题来自输入、转换、底图还是目标 App。

坐标系常见来源WLOC 的处理
WGS84GPS、Google 全球坐标、通用经纬度作为内部标准坐标直接保存。
GCJ-02高德及中国大陆常见地图数据在中国大陆范围内转换为 WGS84,并保留原始值。
BD-09百度地图先转换为 GCJ-02,再转换为 WGS84。

iOS 现实边界

为什么不同 App 的结果仍可能不同

Apple 说明 iPhone 定位会综合 GPS、Wi-Fi、蜂窝网络和蓝牙;每个 App 还管理自己的定位权限。WLOC 只负责它能观察和验证的测试层。

影响层可能看到的现象应该如何验证
GPS 与传感器融合室外强 GPS 可能使最终位置与网络测试结果不同。在低风险环境对比室内/室外,并记录诊断和时间。
iOS 权限与精确位置拒绝权限、仅一次或关闭精确位置会改变目标 App 行为。在系统设置确认该 App 的权限,再重复相同测试。
目标 App 缓存页面仍显示旧城市、旧围栏或旧附近列表。完全重新打开目标 App,并核对请求时间与后台记录。
账号与服务端规则同一坐标在不同测试账号得到不同内容或风控状态。只使用测试账号,并把账号、环境和期望结果写入证据。
IP 与区域配置内容区域可能来自网络出口而不是坐标。把 IP 区域和坐标测试拆开,不要把两者当成同一个开关。

Diagnostics

如何阅读诊断结果

诊断颜色表达的是证据强度,不是“所有 App 一定生效”的承诺。

绿色

链路已确认

服务、设备设置、请求和结果有足够证据。仍需在目标 App 内核对业务状态。

黄色

链路部分确认

常见于等待首次请求、路线未触发、缓存未刷新或 GPS 影响较强。

红色

基础链路未通过

先修复服务访问或设备设置,再继续测试;不要用重复点击掩盖根因。

Privacy by design

隐私与安全边界

技术透明也包括说明数据去哪里、哪些请求会离开设备,以及哪些能力明确不提供。

  • 收藏、路线、设备配置和诊断快照默认保存在本机 App 目录。
  • 官方 Worker 处理解析、转换、健康检查和设置生成,不默认建立可搜索的明文坐标历史。
  • 外部地图链接解析限制跳转次数,并阻止访问本机、内网和元数据地址。
  • WLOC 不承诺绕过 App 权限、风控、服务条款或法律限制。

开始之前

这套技术是否适合你的场景?

下载前先按测试目标判断,能减少无效安装,也让真正需要定位 QA 的团队更快开始。

适合

自有 App、测试账号、预发布环境、审核演示、路线与区域内容 QA。

从公开低风险地点开始
需要验证

第三方 App、复杂缓存、强 GPS、IP 与坐标混合判断。

先运行诊断和恢复演练
不支持

虚假考勤、欺骗他人、游戏作弊、规避风控或所谓所有 App 全局覆盖。

不要用于未授权环境

FAQ

技术原理 FAQ

WLOC 会直接修改 iPhone 的 GPS 硬件吗?

不会。WLOC 面向受支持的网络定位测试链路,不写入 GPS 接收器,也不对 Core Location 做全局覆盖。

为什么地图上看到目标点,其他 App 仍可能是原位置?

目标 App 可能使用强 GPS、缓存、不同权限、IP 区域、账号规则或服务端校验。应同时检查诊断时间线和目标 App 证据。

WGS84、GCJ-02 和 BD-09 有什么区别?

它们是不同的坐标表示。WLOC 保留原始坐标,并把内部目标统一为 WGS84;中国大陆相关转换会提示可能存在米级误差。

哪些数据默认保存在本机?

当前目标、收藏、路线、设备配置、诊断事件和设置会作为 JSON 快照保存在 App 的 Application Support 目录。

怎样证明已经恢复正常定位?

清除目标或停止路线后确认模式为 passthrough,重新打开目标 App,并核对旧位置缓存、最近请求和真实位置状态。

WLOC

理解原理后,从低风险测试开始

打开 WLOC,选择一个公开地点,保存目标、运行诊断,再完整执行一次恢复。只有测试与恢复都可复现,链路才真正可信。