无需越狱、无需电脑、无需开发者账号,借助 Shadowrocket(小火箭)+ iOS Location Spoofer 模块,即可将 iPhone 定位虚拟至全球任意地点。本教程适配全系iOS版本,包含最新 iOS 27 Beta,全程可视化操作、小白零基础可上手。
一、核心实现原理
iPhone 原生定位逻辑:通过扫描周边 Wi-Fi、蜂窝基站 BSSID 信息,向 Apple 官方服务器 gs-loc.apple.com 等接口请求地理位置数据,系统根据返回坐标计算设备定位。
本方案核心逻辑:开启Shadowrocket VPN + HTTPS中间人解密(MITM)→ 拦截Apple定位接口响应数据 → 篡改Protobuf经纬度、海拔、精度字段 → 系统识别伪造定位信息,同时兼容基站、Wi-Fi双定位伪装,大幅降低定位失效、被系统检测概率。
本项目基于开源项目二次优化,新增蜂窝基站坐标修改、多格式响应兼容、运动状态伪造功能,适配主流代理客户端,稳定性远超传统定位修改工具。
开源项目地址:GitHub - mekos2772/ios-location-spoofer
二、前置准备条件
- 一台正常联网的 iPhone(全系机型通用)
- 已安装 Shadowrocket(小火箭)App(App Store付费应用)
- 无越狱、无系统版本限制,完美兼容 iOS 15+ 至 iOS 27 Beta
三、详细操作步骤(保姆级)
第一步:导入定位伪装模块
模块为适配Shadowrocket的专用配置文件,一键导入即可加载核心伪装逻辑:
- 打开 Shadowrocket,点击底部【配置】栏目
- 找到【模块】选项,点击右上角【+】号
- 选择【来自 URL】,粘贴下方模块地址:
```
https://raw.githubusercontent.com/mekos2772/ios-location-spoofer/main/ios-location-spoofer.sgmodule
```
保存配置,返回模块列表,确认 iOS Location Spoofer 已勾选启用(右侧显示对勾)
第二步:开启HTTPS解密与MITM中间人功能
HTTPS解密是拦截Apple定位数据的核心,需精准配置域名白名单:
- 进入HTTPS解密页面(新版旧版双入口):
- 新版Shadowrocket(2.2.88及以上):配置 → 当前配置文件右侧【ⓘ】→ HTTPS解密
- 旧版Shadowrocket:底部【设置】→ 直接进入HTTPS解密
2. 开启【HTTPS解密】总开关(变蓝即为生效),无需额外开启HTTP/2 MitM可选开关
3. 核对域名列表,确保包含以下5个核心域名(模块可自动导入,缺失则手动添加):
gs-loc.apple.com
gs-loc-cn.apple.com
gsp-ssl.ls.apple.com
bluedot.is.autonavi.com
bluedot.is.autonavi.com.gds.alibabadns.com
添加完成后,点击右上角【√】保存配置。
第三步:安装并信任CA证书(最关键步骤)
3.1 生成并下载证书
90%的定位失效问题均由证书未完全信任导致,三步缺一不可:
- 在HTTPS解密页面,点击【证书】→【生成CA证书】→【安装证书】→【允许】
- 系统提示描述文件已下载,确认完成
3.2 系统安装描述文件
- 打开iPhone【设置】→【通用】→【VPN与设备管理】
- 找到Shadowrocket证书描述文件,点击进入,输入锁屏密码完成【安装】
3.3 完全信任证书(核心必做)
- 【设置】→【通用】→【关于本机】→下滑进入【证书信任设置】
- 开启Shadowrocket CA证书的完全信任开关
第四步:启动Shadowrocket代理VPN
- 返回Shadowrocket首页,开启顶部总开关
- 首次连接允许系统VPN权限请求,等待状态栏出现VPN图标
- 确认VPN状态为【已连接】,代理服务正常运行
第五步:自定义虚拟定位坐标(含海拔精度优化)
模块默认定位为美国苹果总部,可自定义全球任意坐标,同时优化海拔、精度参数,避免定位违和暴露:
- Shadowrocket → 配置 → 模块 → 点开【iOS Location Spoofer】
- 找到
argument=参数行,修改核心定位数据
常用城市精准坐标参数(直接复制使用)
| 目标地点 | 纬度(latitude) | 经度(longitude) | 海拔(altitude) | 水平精度 | 垂直精度 |
|---|---|---|---|---|---|
| 北京天安门 | 39.9087 | 116.3975 | 44 | 15 | 20 |
| 上海外滩 | 31.2397 | 121.4900 | 4 | 15 | 20 |
| 广州塔 | 23.1066 | 113.3245 | 60 | 15 | 20 |
| 东京塔 | 35.6586 | 139.7454 | 33 | 15 | 20 |
参数优化说明:仅修改经纬度易出现定位异常,同步调整海拔、精度可大幅提升真实性,规避系统风控检测。
自定义地点查询方法:高德/谷歌地图长按目标位置复制坐标,通过公开海拔接口查询对应海拔数据,替换参数即可。
第六步:刷新定位缓存,生效虚拟位置
iOS具备定位缓存机制,修改参数后需手动刷新方可生效:
- 打开【设置】→【隐私与安全性】→【定位服务】
- 关闭定位服务,等待10秒以上,重新开启
- 彻底杀掉地图、天气App,重新打开验证定位
- 定位未生效则重复开关定位操作,多次刷新即可命中
生效后可正常使用区域限制功能,包括Apple Watch呼吸暂停检测、区域专属服务等。
四、进阶功能:网页地图可视化选点(免手动改参数)
频繁切换定位可使用项目自带 location-picker 工具,支持地图点选定位、自动匹配海拔精度,无需手动查询修改参数,适配Shadowrocket远程配置。
4.1 部署方式
支持Cloudflare Worker(免服务器)、Node自托管、Docker部署,新手优先选择Cloudflare Worker网页版,零成本快速部署。
4.2 核心配置规则
- 必须配置
TOKEN环境变量(无默认密码,防止恶意访问) - 模块末尾追加远程配置地址:
&configUrl=https://你的域名/loc.json?token=自定义密钥 - 支持HTTPS证书热加载、数据自动缓存,稳定不掉线
安全提醒:禁止将TOKEN密钥写入命令行历史,建议通过.env文件或systemd环境变量配置,避免信息泄露。
五、常见问题排查(高效解决99%故障)
Q1:定位始终不生效、无变化
按优先级依次排查:证书完全信任状态 → 模块启用状态 → HTTPS解密开关&域名白名单 → VPN连接状态 → 定位缓存刷新次数,重点核查证书信任步骤(高频出错点)
Q2:模块导入后域名未自动加载
手动在HTTPS解密页面添加全部5个核心域名,保存后重启Shadowrocket、重连VPN。
Q3:部分区域服务(Apple News)定位异常
进入【设置→隐私与安全性→定位服务→系统服务】,开启所有定位相关开关,刷新定位即可同步区域信息。
Q4:如何恢复真实定位?
取消模块勾选或关闭Shadowrocket VPN,开关一次定位服务清除缓存,即可恢复设备真实地理位置。
六、快速操作流程速查
导入模块 → 开启HTTPS解密+配置域名白名单 → 安装并完全信任CA证书 → 连接VPN → 自定义定位参数 → 刷新定位缓存 → 验证生效
七、合规提醒
本教程仅用于个人设备隐私保护、功能测试等合法场景,请勿用于违规用途、规避平台规则等行为,违规使用产生的后果由使用者自行承担。

Comments NOTHING