之前分享了一个 iOS27 模拟定位的一种方法,主要考虑到激活电话卡,拉 WiFicalling可能需要使用,但是现有ios27 改定位的方法较为麻烦。于是又想到既然手机可以改,那电脑是不是也行。折腾这个主要考虑到使用 AI ,我在想如果改完定位并且使用全套相应的,一模一样的资料,或许 Claude封号或者 ChatGPT 降智的概率在一定程度上会有所降低,但具体是否如我所想,有待考究,下面是具体的修改定位的方法。
macOS 系统模拟定位操作指南
本机已实测成功:写入模拟坐标后正常重启 Mac,苹果地图的当前位置变为纽约时代广场。
实测环境:macOS 27.0.1、Apple Silicon,使用本地修订的 Mac Location Spoofer 脚本。验证日期:2026-10-13,America/New_York。
已确认的是这台 Mac 上的苹果地图结果;safari浏览器已确认修改为新坐标,第三方 app 暂时有待考究。该方案使用私有定位配置,属于实验性方法。[1]
一、已经验证的操作流程
设置位置:写入坐标 → 检查配置 → 正常重启 Mac → 地图验证。
本机只发送配置通知时,地图仍显示原位置;写入配置后正常重启,地图才采用目标坐标。原脚本试图直接重启定位服务,会遇到 Not privileged to signal service。因此本指南采用 --refresh=notify 写入配置,再由用户正常重启 Mac。
| 已执行的步骤 | 本机结果 |
|---|---|
| 管理员权限读取模拟字段 | 检查通过 |
| 写入模拟经纬度并发送通知 | 命令完成,地图当时仍显示原位置 |
通过 launchctl 重启定位服务 |
系统拒绝该服务控制操作 |
| 保持模拟配置,正常重启 Mac | 用户确认地图当前位置变为纽约时代广场 |
| 恢复原配置,检查模拟字段 | 先前实验已确认六个字段均恢复为 absent |
| 成功模拟后恢复、重启并验证真实位置 | 流程见第五节;尚待用户完成实际位置验证 |
二、准备条件
- Mac 管理员账户及密码。
- Python 3.9 或更新版本;本文本机使用
/usr/bin/python3。[1] - 开启“系统设置 → 隐私与安全性 → 定位服务”。
- 允许苹果“地图”使用位置。[2]
- 使用桌面项目中已经修订的脚本。
本次成功验证没有依赖 iPhone 式开发者模式,也没有关闭 SIP。SIP 在先前本机只读检查中为开启状态。项目未要求给终端增加“开发者工具”或“完全磁盘访问权限”。[1]
当前脚本在:
~/Desktop/mac-location-spoofer/mac_location_lab.py
本地修订新增了缺失配置识别、详细错误报告、只读 check 和 --refresh=notify。它不是上游原样脚本。原脚本备份为同目录中的 mac_location_lab.before-fix.py;重新下载上游仓库不会自动获得这些修订。
三、设置模拟位置
1. 写入坐标
打开终端,执行:
cd ~/Desktop/mac-location-spoofer
sudo /usr/bin/python3 mac_location_lab.py set \
--latitude=40.7580 \
--longitude=-73.9855 \
--accuracy=10 \
--refresh=notify
输入 Mac 管理员密码后按回车。输入密码时终端不会显示字符或星号。
这里使用纽约时代广场示例。设置其他地点时替换经纬度,并保留 --refresh=notify。
| 参数 | 含义 |
|---|---|
--latitude |
纬度,范围为 -90 到 90;南纬使用负数 |
--longitude |
经度,范围为 -180 到 180;西经使用负数 |
--accuracy |
模拟位置水平精度,单位为米;默认值为 10 |
--refresh=notify |
写入后发送配置通知,避免调用本机被拒绝的服务重启命令 |
参数使用等号形式,特别是包含负数时。完成后会显示:
Simulation preferences applied; refresh notification posted. Verify the location in Maps. Notification delivery does not prove simulation works.
这表示配置操作与通知发送完成,尚未说明位置已经改变。下一步继续检查配置并正常重启。
2. 检查配置
sudo /usr/bin/python3 mac_location_lab.py check
六个模拟字段应显示 present。检查只报告字段是否存在,不显示具体坐标。
present:字段已存在。absent:字段不存在。Original backup present: True:原始配置备份仍被保留,不表示操作失败。
3. 正常重启 Mac
保存正在编辑的工作,然后通过苹果菜单正常重启 Mac,保持刚写入的配置。
设置后先重启并验证,验证完成后再执行恢复命令。 如果先运行 reset,重启时使用的会是恢复后的配置。
四、验证定位结果
苹果地图:本机已经验证成功
重启后打开苹果“地图”,点击“当前位置”按钮,检查当前位置标记是否位于目标地点。
本次用户确认:当前位置变为纽约时代广场。
搜索目标城市或把地图拖到该地点,不能作为模拟生效的证明;应以请求当前位置后的标记为准。
其他 App 与网页:分别验证
其他 App 可以重新请求当前位置,观察是否跟随系统模拟坐标。
网页需要使用具有“当前位置”功能的页面,并允许浏览器和该网站获取位置。验证时关闭浏览器自己的定位覆盖,避免混淆数据来源。
| 位置判断方式 | 与本方案的关系 |
|---|---|
| App 通过系统定位服务请求坐标 | 地图已确认,其他 App 需要分别验证 |
| 网页通过浏览器请求经纬度 | 需要逐个浏览器验证是否跟随 |
| 网站依据公网 IP 判断国家或地区 | 写入经纬度不会改变网络出口 IP |
| 账号地区、保存城市或缓存 | 不保证与系统模拟坐标一致 |
苹果也说明,第三方 App 和网站可以通过其他方式判断位置。[2]
五、恢复原配置并验证真实位置
1. 恢复配置
cd ~/Desktop/mac-location-spoofer
sudo /usr/bin/python3 mac_location_lab.py reset --refresh=notify
sudo /usr/bin/python3 mac_location_lab.py check
恢复命令完成后会显示:
Saved simulation preferences restored; refresh notification posted. Verify the location in Maps. Original backup retained.
本机首次设置前没有模拟字段,所以恢复后的六个字段应再次显示 absent。先前实验已经确认此配置恢复步骤能够完成。
2. 正常重启并验证
保存工作,正常重启 Mac。重启后打开地图,点击“当前位置”,确认是否回到真实位置。
这个流程还原的是首次设置前的配置。若首次运行本工具之前已有其他模拟配置,则恢复会还原那些配置。
通知模式有意保留备份,以便后续恢复;备份在 /var/db/mac-location-lab。Original backup present: True 不代表模拟仍然启用,不必手动删除该目录。
重启本身不会替代恢复命令。 本次实测正是写入配置后重启仍能采用模拟坐标,因此恢复时先运行 reset,再重启验证。
六、日常命令备忘
改位置:运行以下命令,然后正常重启 Mac,再查看地图。
cd ~/Desktop/mac-location-spoofer
sudo /usr/bin/python3 mac_location_lab.py set --latitude=40.7580 --longitude=-73.9855 --accuracy=10 --refresh=notify
恢复:运行以下命令,确认字段为 absent 后正常重启,再查看地图。
cd ~/Desktop/mac-location-spoofer
sudo /usr/bin/python3 mac_location_lab.py reset --refresh=notify
sudo /usr/bin/python3 mac_location_lab.py check
七、常见问题
| 现象 | 处理方式 |
|---|---|
| 写入完成,重启前地图仍显示原位置 | 本机此前出现过这一现象,按已验证流程正常重启后再查看 |
Not privileged to signal service |
检查是否漏写 --refresh=notify;本机直接重启服务的步骤被系统拒绝 |
六个字段为 absent,备份为 True |
配置已还原而备份保留,二者含义不同 |
| 找不到脚本 | 先执行 cd ~/Desktop/mac-location-spoofer |
终端处于 Anaconda 的 (base) 环境 |
本文明确执行系统路径 /usr/bin/python3,不会使用 Conda 环境中的 Python |
| 地图改变了,但某网站仍显示原地区 | 核对网站是否使用经纬度、IP、账号或缓存判断地区 |
来源与验证范围
- Mac Location Spoofer 项目说明;原始源码。提交日期:2026-09-07。本文使用该版本的本地修订脚本,上游没有建立 macOS 27 的兼容性结论,但实测 macOS27 可行。
- Apple:控制对 Mac 位置的访问;Apple:更改隐私与安全性设置。页面未显示发布日期。
实测本机 maps 和天气等软件成功修改新定位,浏览器也更新为新定位,第三方 app 有待验证
插眼学习下