如果你给 iPhone 连上英国或美国节点,网页 IP 已经显示在当地,海外 eSIM 的 Wi-Fi Calling 还是无法注册,问题通常不在代理速度,而在于:IP 地址和系统定位不是同一个信号。
这也是 WLOC 方案存在的原因。它把代理模块、指定域名的 HTTPS 解密,以及两个快捷指令串起来,尝试让部分定位请求读取到另一个位置。原作者曾记录过用它测试 CTExcel、Tello 和 Wi-Fi Calling 的经历,但那属于个人设备、个人版本和个人账号条件下的结果,不能直接推导成“所有海外卡都能激活”。
这篇文章不把它包装成万能解锁工具,而是把整套流程拆成可以逐步验收的教程:你会知道每一步改了什么、怎样判断生效、失败后应该回到哪一层,以及测试完成后如何清理。

先弄懂:你到底要改哪一层
海外服务可能同时观察多种地区信号。把它们混成“定位”两个字,最容易导致错误排查。
| 信号 | 通常来自哪里 | WLOC 是否直接处理 |
|---|---|---|
| IP 地址 | 代理节点、网络出口、ASN | 否,交给代理工具处理 |
| 系统位置 | GPS、Wi-Fi、基站与系统位置服务 | 方案试图影响相关请求 |
| SIM/eSIM 状态 | 运营商、漫游、卡片注册信息 | 否 |
| Apple 账户地区 | 账户、App Store 和付款资料 | 否 |
| 服务端风控 | 账号历史、设备状态、行为记录 | 否 |
所以,天气 App 显示到了目标城市,只能证明某个系统定位结果发生变化。它不能证明运营商已经接受新地区,也不能替代套餐、漫游和账户资格。
这套方法适合什么场景
- 排查海外运营商 Wi-Fi Calling 为什么没有注册;
- 测试地区限定 App 在不同位置下的表现;
- 在自己的开发或兼容性测试设备上验证定位请求;
- 研究 iPhone 的代理模块与定位请求之间的关系。
不适合什么场景
不要用修改定位伪造居住地、领取不符合条件的补贴、绕过实名或地区资格审查。定位结果改变,不等于你获得了服务资格;把测试工具用于虚假申领,可能违反平台规则甚至触及法律风险。
开始前只准备四样东西
第一次不要同时更换节点、SIM 卡、Apple 账户和系统版本。变量越多,失败后越难定位。
准备:
- 一台自己的 iPhone,先备份重要数据;
- Shadowrocket,或项目说明中支持的代理工具;
- WLOC 模块与对应快捷指令;
- 一个可以独立验证的目标位置,例如天气 App 显示的城市。
原文记录的测试环境是 iOS 26.6,但 iOS、Shadowrocket 和 WLOC 都会变化,菜单位置与兼容性不能视为固定事实。
还要注意一个现实问题:本文重新核验时,Yu9191/wloc GitHub 仓库和原模块地址均返回 404。 原文给出的地址仍然可以作为线索,但不能当作当前可用下载源。仓库无法确认时,不要随便从网盘、评论区或陌生镜像下载模块和快捷指令。

通过标准
- 你知道如何关闭代理模块;
- 你知道如何删除描述文件和证书;
- 你已经选定验证用的 App;
- 你没有把主力支付设备当成实验机。
有一项做不到,就先不要进入证书配置。
第一步:确认模块来源,再导入 WLOC
WLOC 方案的核心不是打开一个“改定位 App”,而是让代理工具处理特定请求。原文给出的 Shadowrocket 模块地址是:
https://raw.githubusercontent.com/Yu9191/wloc/refs/heads/main/modules/wloc.module
当前核验结果为不可访问。因此这里不建议给出所谓“备用直链”,也不建议把任何来历不明的同名模块当成原项目版本。
如果项目恢复,导入流程大致是:
- 打开 Shadowrocket;
- 进入「配置」或「模块」页面;
- 点击右上角添加按钮;
- 从项目维护者提供的原始地址导入模块;
- 在模块列表中确认出现 WLOC 项目;
- 只启用 WLOC,暂时关闭其他重写规则。
为什么这一关不能跳过
如果模块没有导入,快捷指令即使能运行,也可能只是在切换定位服务开关,相关请求并没有经过 WLOC 处理。原文提到,跳过模块导入是 Wi-Fi Calling 无法拉起的原因之一。
通过标准
模块名称、来源和启用状态都能确认。看不到模块时,回到项目地址检查;不要先装证书,也不要同时叠加 Surge、Loon 和 Shadowrocket 的多套规则。
第二步:只对必要域名启用 HTTPS 解密
原文要求在 Shadowrocket 的 HTTPS 解密中添加:
gs-loc.apple.com
gs-loc-cn.apple.com
如果项目地址恢复,操作顺序如下:
- 打开 Shadowrocket 的「HTTPS 解密」;
- 开启 HTTP 解密;
- 只添加上面两个域名;
- 生成或选择 Shadowrocket 的解密证书;
- 按系统提示安装描述文件;
- 前往「设置」→「通用」→「VPN 与设备管理」完成安装;
- 前往「设置」→「通用」→「关于本机」→「证书信任设置」;
- 明确信任刚刚安装的证书。

这一步是整套流程里风险最高的部分。HTTPS 解密会让指定流量经过本地代理并重新签名。即使证书是自己生成的,也应该把范围限制在必要域名,测试结束后立即撤销。
不要把“为了方便”理解成把所有域名加入解密列表。银行、支付、密码管理器和工作账号不应该在未知证书状态下操作。
通过标准
- 解密域名只有必要项目;
- 证书来源可追溯;
- 能找到删除描述文件和取消信任证书的入口;
- 测试机上没有必须持续使用的敏感业务。
第三步:安装快捷指令前先检查动作
原文使用两个 iCloud 快捷指令:
- 设置位置:https://www.icloud.com/shortcuts/a82717d8fdad4e6280866fcf911173f7
- 清理位置:https://www.icloud.com/shortcuts/f42632d406504f24a2cd163af4fe012f
快捷指令本质上也是外部输入。安装前先展开动作列表,确认它只执行定位测试需要的动作,不读取、上传联系人、照片、文件或账户信息。链接能打开,不代表内容永远安全;如果动作列表与用途不符,直接取消安装。
通过标准
设置位置和清理位置两个动作都能看懂,并且前者与后者成对存在。没有清理入口时,不要继续把它装到主力机上。
第四步:用地图选点,不要直接拿真实业务反复试
完成模块、证书和快捷指令准备后,再做第一次定位测试:
- 打开 iPhone 自带的「地图」;
- 缩小地图,移动到一个目标城市;
- 长按或选择地图上的具体位置;
- 点击分享按钮;
- 在分享菜单中选择 WLOC 设置位置;
- 按提示暂时关闭并重新开启「定位服务」;
- 等待快捷指令执行完成;
- 打开「天气」App,检查当前位置是否变化。
先用天气验证,而不是直接去反复尝试激活 SIM 或领取优惠。这样可以把“定位层是否生效”和“服务资格是否满足”分开。
如果天气没有变化,不要连续执行十次快捷指令。按下面的顺序只改一个变量:
- 先检查 WLOC 是否启用;
- 再检查证书是否安装并信任;
- 再确认快捷指令动作是否完成;
- 最后再重启一次设备,排除缓存影响。
第五步:把结果分成三档判断
一次测试结束后,用下面的表格记录结果:
| 结果 | 能说明什么 | 不能说明什么 |
|---|---|---|
| 天气城市变化 | 系统某一层位置结果变化 | 运营商会接受该位置 |
| 目标 App 地区变化 | 该 App 的部分判断改变 | 账号满足全部地区资格 |
| Wi-Fi Calling 注册成功 | 当前条件下运营商流程可能通过 | 其他海外 eSIM 也一定可用 |
原作者声称在 iOS 26.6 环境下测试成功,并提到 CTExcel、Tello 和 Wi-Fi Calling。这些属于个人经验,不是 Apple 或运营商的官方兼容性声明。写测试记录时,至少记下 iOS 版本、iPhone 型号、运营商、SIM/eSIM 状态、代理节点和测试时间,之后才有可比性。
失败排查:先看现象,再回到上游
天气仍是原城市
现象: 快捷指令执行了,但天气没有变化。
优先检查: WLOC 模块是否启用、证书是否信任、定位服务是否真正重启。
最小修复: 只检查模块和证书,然后重启一次。不要同时更换节点、系统和快捷指令。
天气变了,Wi-Fi Calling 仍失败
现象: 系统定位显示目标城市,但运营商服务没有注册。
可能原因: 套餐、漫游、设备型号、基带、SIM/eSIM 状态或账号条件不满足。
最小修复: 回到运营商官方支持页面,逐项核对套餐和设备要求。定位变化不能替代真实运营商资格。
配置后网络异常
现象: 部分网站打不开,或代理连接变得不稳定。
最小修复: 先关闭 WLOC 和 HTTPS 解密,再删除测试证书与描述文件,恢复原代理配置。不要扩大解密域名范围。
重启后位置恢复
现象: 位置暂时改变,重启或切换网络后恢复。
判断: 这说明方案可能依赖缓存、代理状态和当前系统版本。它不是永久写入系统的“全局定位开关”。

测试结束:按相反顺序清理
不要把临时证书和定位模块长期留在设备上。结束测试后依次处理:
- 执行清理位置快捷指令;
- 关闭 WLOC 模块;
- 关闭 HTTPS 解密;
- 在「VPN 与设备管理」删除相关描述文件;
- 在「证书信任设置」取消信任对应证书;
- 恢复 Shadowrocket 原配置;
- 重启 iPhone;
- 用地图、天气和一个常用网络服务确认状态恢复。
如果测试期间使用过未知证书,暂时不要登录支付和银行服务。无法确认配置是否已经清理干净时,先停用相关证书和描述文件,再处理账号安全。
最后结论
WLOC 方案最值得理解的不是“把位置改到哪里”,而是它暴露了一个常见误区:代理、系统定位、运营商资格和服务端风控是四个不同层面。
它可以帮助你做个人兼容性测试,也可能在特定版本和特定运营商条件下改善 Wi-Fi Calling 的排查结果。但原项目当前无法通过 GitHub 仓库核验,原文中的成功案例也属于个人实测,不能把它当成稳定、通用或官方支持的 iPhone 定位修改教程。
真正完成一次安全测试,至少要满足四点:
- 你知道修改的是哪一层;
- 每一步都有独立验证结果;
- 失败时只改一个变量;
- 测试结束后能删除证书、关闭模块并恢复原配置。
如果项目地址恢复,仍应先核对维护者、代码、模块内容和快捷指令动作,再决定是否在非主力设备上测试。
FAQ
iPhone 修改定位需要越狱吗?
原方案声称不需要越狱,但“不需要越狱”不代表没有证书、代理和兼容性风险,也不代表在所有 iOS 版本上有效。
改了 IP,为什么天气还是原来的位置?
因为 IP 地址只代表网络出口,天气 App 还可能读取系统定位。两者需要分开验证。
修改定位后能激活所有海外 eSIM 吗?
不能。运营商还会检查套餐、设备、漫游、SIM/eSIM 注册和账号条件。
可以用这个方法领取异地补贴吗?
不建议,也不应这样使用。修改定位不能改变真实资格,伪造位置申领补贴可能违反规则并带来法律风险。
测试完成后最重要的清理步骤是什么?
关闭模块和 HTTPS 解密,删除描述文件,取消证书信任,执行清理快捷指令,然后重启设备。