灵感来自用MITM修改手机的定位信息
在天才程序员的加持下,搓了这个脚本。
使用只需要两步:
1,服务器上运行脚本
2,手机上装一个CA证书
就可以修改手机定位了
目前还是初版,一些地方可能还不完善,欢迎尝试:
https://applelocation.shutiao.us
项目地址https://github.com/Loading886/Home-Location-Endpoint
![]()
iOS最新版都支持
如果使用遇到问题,主要可能是因为网络定位权重不够高,且有旧定位的缓存影响
……………………………
使用问题排查&解决
如果使用遇到问题,先安装项目最新版。然后尝试如下操作:
0,远离窗边,不能在室外(否则GPS会主导定位)。关掉【系统设置-隐私-定位服务】
1,重启(一般不需要。最多重启一次也就够了,可清掉定位缓存)
2,开机后,要尽快地(赶在定位生成一堆缓存之前),用全局模式连上运行着本项目的服务器。
3,开启【系统设置-隐私-定位服务】
4,打开苹果地图,看下位置是否已经变成新的了
5,如果没变,强制退出地图,关掉【系统设置-隐私-定位服务】,等5-10秒
6,再开启【系统设置-隐私-定位服务】,再打开苹果地图
到第6步,如果还没成功,有两种状态:
a,有定位的小蓝点,但显示的仍是你的真实定位
——可能有定位缓存,重复几次步骤5-6,看能否变成状态b
——可能配置有问题,排查一下是不是服务器没配置好;
——可能你所在的地方收到GPS信号了,需要去更室内的地方。
b,定位的小蓝点没了,但苹果地图重载后一片空白
——那么你已经成功了一半。此时你的定位缓存,正在和服务器下发的定位“打架”
如果是b,退出地图,再重复进入,强制触发刷新定位,让系统尽快清缓存、认新定位。
快的话,一两分钟就好了。
iOS 的 locationd 本地 AP 缓存。我实测了下缓存龄约 14.5 分钟
所以如果懒一点,什么也不做,等系统自己慢慢认,大概15分钟,也会变成新地点。
另外,如果你用的是 手机流量+VPN 去连服务器,WiFi也一定要保持打开
WiFi可以不连上任何无线网络,但WiFi的开关要保持开着。