Skip to content
WLOC授權 iOS 定位測試

系統原理 · 證據鏈 · 復原

WLOC 測試的是哪一層定位訊號?

WLOC 測試的是裝置上的一條限定網路定位回應路徑;它不會寫入 GPS 硬體,也不會全域覆寫 Core Location。診斷會記錄路徑實際觀察到的證據,同時說明哪些結果仍由 iOS 與目標 App 決定。

一條可觀察、可復原的測試路徑

WLOC 將地圖連結或經緯度標準化為 WGS84,將測試目標與路線狀態保留在裝置端,並透過相容用戶端執行限定的網路定位回應測試。設定寫入、請求、回應修改與復原都有時間證據;GPS、定位權限、App 快取、帳號與服務端規則則維持獨立。

將地圖輸入轉成結構化座標

解析器接受直接輸入的經緯度,以及 Apple Maps、Google Maps、高德與百度等常見地圖連結。它會從 URL、查詢參數或受限制的頁面回應中擷取地點與座標,並回傳來源、信心度、原始座標系與警告。

輸入 https://maps.google.com/.../@37.795490,-122.393700 輸出 source=google_maps · system=WGS84 · confidence=0.94

  • 輸入長度受限,緯度必須介於 ±90、經度必須介於 ±180。
  • 短網址只會跟隨有限次重新導向,並拒絕本機、私人網路與雲端中繼資料位址。
  • 無法辨識時會回傳明確錯誤,不會猜測看似合理的地點。

內部統一使用 WGS84

不同地圖可能使用 WGS84、GCJ-02 或 BD-09。WLOC 會保留原始值與座標系,同時將內部測試目標標準化為 WGS84,並保留六位小數,供收藏、路線與回歸測試重複使用。

原始座標 31.230416, 121.473701 · GCJ-02 標準座標 31.xxxxxx, 121.xxxxxx · WGS84

  • 高德與部分中國大陸地圖內容會依 GCJ-02 處理。
  • 百度輸入依 BD-09 處理,再經 GCJ-02 轉換為 WGS84。
  • 中國大陸以外不套用境內偏移,轉換結果會保留公尺級誤差提醒。

收藏、路線與設定預設留在 iPhone

WLOC 將目前目標、收藏、路線、裝置設定、診斷事件與偏好編碼為 JSON,並以原子寫入方式儲存在 App 的 Application Support 目錄。重新開啟 App 時可從快照恢復,不必建立雲端帳號。

  • 儲存的地點與路線預設不會上傳為可搜尋的座標歷史。
  • 重設或移除 App 會刪除本機快照;匯出必須由使用者主動執行。
  • 解析與轉換請求只服務當次回應,網站分析與 App 本機資料會分開揭露。

將目標座標送入受支援的測試路徑

WLOC 會依目前目標與裝置設定產生官方設定資源。在相容且已明確授權的環境中,已儲存的目標會套用於受支援的網路定位回應;沒有目標時,路徑維持 passthrough,不取代真實網路定位結果。

mode=active → 使用已儲存的測試目標 mode=route → 使用目前路線節點 mode=passthrough → 保留真實網路定位結果

  • 這是網路定位測試路徑,不是對 GPS 接收器或 Core Location 的全域寫入。
  • 靜態目標代表單一狀態;路線則依節點、時間、暫停與繼續狀態前進。
  • 目標 App 是否採用結果,仍取決於權限、快取、帳號與伺服器判斷。

診斷整條路徑,而不是只看一個開關

診斷會先確認官方 Worker 是否可連線,再檢查裝置設定、目前模式、目標座標、路線狀態,以及已記錄的請求與 patch 時間。這些時間只能說明受支援路徑觀察到了什麼;必須將 patch 時間與目標寫入時間比較,才能判斷是否為目前證據。快取與目標 App 行為仍需另外人工核對。

  • 健康檢查會回傳環境與版本,避免將服務故障誤判為定位失敗。
  • 裝置狀態會區分 active、route 與 passthrough,並記錄儲存、清除、請求與結果時間。
  • 路線已啟動但沒有請求,與已有請求但結果未確認,會顯示不同警告。

將恢復真實位置視為測試必要步驟

先停止並清除任何活動路線,再清除靜態目標。只有模式為 passthrough、目前目標與路線皆為空,且清除後出現新的直通證據,復原才算已驗證。接著必須重新開啟目標 App,確認舊城市、地理圍欄或附近清單不再來自快取。

  • WLOC 可以清除自己的目標與路線狀態,但不能強制關閉其他 App。
  • WLOC 不能代替 iOS 清除系統的 locationd 快取。
  • 完整證據必須同時包含測試狀態與恢復後的真實位置狀態。

隱私與安全界線

技術透明也包括說明資料流向、哪些請求會離開裝置,以及哪些能力刻意不提供。

  • 收藏、路線、裝置設定與診斷快照預設保存在 App 的本機目錄。
  • 官方 Worker 處理解析、轉換、健康檢查與設定產生,預設不建立可搜尋的明文座標歷史。
  • WLOC 可能依隱私權政策另行傳送粗粒度的第一方產品事件;這些事件不含精確座標或原始地圖連結。
  • 外部地圖連結解析會限制重新導向次數,並封鎖本機、私人網路與中繼資料位址。
  • WLOC 不承諾繞過 App 權限、反濫用機制、服務條款或法律限制。

座標系不一致為何看起來像測試失敗

同一個地標在不同座標系中可能出現明顯偏移。WLOC 同時保留原始值與標準值,協助判斷問題來自輸入、轉換、底圖或目標 App。

座標系常見來源WLOC 處理方式
WGS84GPS、Google 全球座標、一般經緯度直接儲存為內部標準座標。
GCJ-02高德與中國大陸常見地圖資料在中國大陸範圍內轉換為 WGS84,並保留原始值。
BD-09百度地圖先轉為 GCJ-02,再轉為 WGS84。

不同 App 為何仍可能顯示不同結果

Apple 說明 iPhone 定位可結合 GPS、Wi-Fi、行動網路與藍牙,而每個 App 也會管理自己的權限。WLOC 只對可準備、觀察與驗證的測試層負責。

影響因素可能現象驗證方式
GPS 與感測器融合戶外強 GPS 可能使最終位置與網路測試結果不同。在低風險環境比較室內與戶外測試,並保留時間與診斷。
iOS 權限與精確位置拒絕、僅允許一次或關閉精確位置會改變 App 行為。確認該 App 的定位服務權限後重複相同測試。
目標 App 快取畫面仍顯示舊城市、圍欄或附近清單。完整重新開啟目標 App,並比較請求時間與後端證據。
帳號與伺服器規則相同座標在兩個測試帳號顯示不同內容或風險狀態。記錄帳號、環境與預期結果,不要混用正式身分。
IP 與區域設定內容區域跟隨網路出口,而不是座標。將 IP 區域與座標分開測試,不要視為同一個開關。

如何判讀診斷狀態

已記錄的 patch 時間只能證明相容的網路定位回應曾在該時間被修改。請將它與目標寫入時間比較;它不會自動證明目前目標已被修改,也不能證明目標 App 採用該訊號。

影響因素可能現象驗證方式
綠色路徑已確認服務、裝置設定、請求與結果有足夠證據;仍須在目標 App 核對業務狀態。
黃色部分確認常見於等待第一次請求、路線尚未觸發、快取未更新或 GPS 影響較強。
紅色基礎路徑失敗先修復服務連線或裝置設定;重複點按不會修復根本原因。

這套流程是否適合你的使用情境?

下載前先分類測試目標,可減少不適合的安裝,也讓真正的定位 QA 更快取得證據。

影響因素可能現象驗證方式
適合自有 App、測試帳號、預備環境、審核示範、路線 QA 與區域內容驗證。從公開、低風險地點開始
需要驗證第三方 App、複雜快取、強 GPS,或混合 IP 與座標邏輯。先執行診斷並演練復原
不支援虛假出勤、欺騙他人、遊戲作弊、規避管控或宣稱全 App 通用覆寫。請勿用於未授權環境

三條鏈路,一次可驗證的測試

  1. 輸入

    地圖連結或經緯度

  2. 解析

    辨識來源與原始座標系

  3. 標準化

    統一儲存為 WGS84

  4. 準備

    產生受支援的測試設定

  5. 驗證

    檢查請求、結果與路線狀態

  6. 復原

    停止並清除路線與目標;確認直通

先完成一次可復原的低風險測試

開啟 WLOC,選擇公開地點,依六步流程完成設定、儲存、診斷與清除。只有測試與復原都可重複,這條路徑才值得信任。

Frequently asked questions

WLOC 會直接修改 iPhone 的 GPS 硬體嗎?

不會。WLOC 使用受支援的網路定位測試路徑,不會寫入 GPS 接收器,也不會全域覆寫 Core Location。

為什麼地圖顯示目標點,其他 App 卻仍顯示真實位置?

目標 App 可能使用強 GPS、快取、不同權限、IP 區域、帳號規則或伺服器檢查。請比較 WLOC 診斷時間軸與目標 App 證據。

WGS84、GCJ-02 與 BD-09 有何不同?

它們是不同的座標表示。WLOC 保留原始座標,並將內部目標標準化為 WGS84;涉及中國大陸的轉換會提示可能的公尺級誤差。

哪些資料預設留在 iPhone?

目前目標、收藏、路線、裝置設定、診斷事件與偏好會以 JSON 快照儲存在 App 的 Application Support 目錄。

如何證明已恢復真實位置?

停止並清除任何活動路線,再清除靜態目標;確認模式為 passthrough、目前目標與路線皆為空,並等待清除後的新直通證據。接著關閉 HTTPS 解密、撤銷 CA,重新開啟目標 App,再核對快取與真實位置。