苹果手机如何拉取WIFICall

一、先说明原理和限制

在高版本iPhone IOS系统中除了使用GPS,还会通过附近的WiFi和基站向Apple网络定位服务查询当前位置。只靠爱思助手改定位就拉不起需要定位的Wi-Fi calling了

WLOC模块会通过Shadowrocket拦截Apple网络定位服务的响应,并将其中的坐标替换为用户设置的位置。

简单理解:

iPhone请求网络定位→→→Apple返回当前位置→→→Shadowrocket模块拦截响应→→→将坐标替换为目标位置→→→系统读取修改后的坐标→→→正确符合运营商要求

↓

成功拉起WI-FI calling


需要注意:

二、准备工作

三、修改定位

苹果IOS26以下修改定位视频教程:点击直达(科网)

苹果IOS27以上修改定位视频教程:点击直达(科网)

如果模块失效用这个:点击进入

备用模块Shadowrocket模块:

https://raw.githubusercontent.com/xepes0/wloc/refs/heads/main/modules/wloc.module

设置坐标后,打开苹果地图观察当前位置。

如果没有立即改变,可以先尝试:

iOS 15~18

iOS 15~18通常不需要重启,重新触发定位后即可生效。
(如果只是拉Wi-Fi calling甚至都不需要你改定位 关闭手机定位后重启即可)

如果仍然显示真实位置,可以:

iOS 26+

根据项目说明,Apple从iOS 26开始加强了locationd的定位缓存。

即使WLOC脚本已经成功修改服务器响应,系统仍可能继续读取内存中缓存的旧坐标。

这种情况下,单独开关飞行模式或定位服务可能不足以清除缓存,建议直接重启设备。

高版本推荐流程一

text

先通过快捷指令或选点页面设置目标位置
打开飞行模式
关闭系统定位服务
重启iPhone
开机后关闭飞行模式
暂时保持WiFi关闭,使用蜂窝网络联网
打开Shadowrocket并确认VPN已经连接
打开系统定位服务
打开苹果地图验证
系统定位服务入口:

text
设置 → 隐私与安全性 → 定位服务

高版本推荐流程二

text

关闭系统定位服务
保持Shadowrocket代理、模块及HTTPS解密开启
设置并储存目标位置
重新打开系统定位服务
出现位置权限提示时,选择“下次询问或在我共享时”
打开苹果地图验证
如果方法二过一段时间后恢复真实位置,通常是系统重新使用了GPS结果或定位缓存。可以改用方法一,并在GPS信号较弱的室内环境测试。

四、拉取WIFICall

测试手机:iphone Xr

Image

  1. WLOC改定位到英国;

Image

  1. 开启飞行模式,开启局域网通话,重启手机(隔空投送,蓝牙最好关掉)

Image

  1. 开机后,保持飞行模式,自动连接节点,检查地图,IP和时间是否都在英国

Image

  1. 数分钟内,查看手机状态栏,出现WiFiCall就成功(有人反馈需要等很长时间才可以,多重启几次)

Image

❤️ 有任何问题请联系QQ或TG客服,谢谢!❤️