iOS 27 正式版已经于今日推出。如果你之前一直在使用 WLOC 项目方案修改定位,这次升级 iOS 27 正式版要特别注意:旧方案最后只支持到 iOS 27 beta 5,从 beta 5 开始,苹果封堵了它依赖的定位请求拦截方式。WLOC 项目依赖的 MITM 改写路线已经不再稳妥。
不过大家不要担心,现在已有一条新的不依赖 MITM 证书的路线:通过 iOS 开发者位置模拟服务设置坐标。目前我已在 iOS 27 正式版系统中实测通过,不需要越狱或降级系统。
该方案最终使用的组合是:
iLoader + SideStore + LocalDevVPN + WrapPin

下面继续介绍完整安装和使用方案。
一、旧 WLOC 项目与新方案有什么不同
之前我们使用过的 WLOC 项目方案,它的基本原理是通过代理和本地 CA 拦截 Apple 的 Wi-Fi、基站网络定位请求,再把服务器返回的坐标改成用户选择的位置。从 iOS 27 beta 5 开始,locationd 会拒绝拦截 App 指定域名的非 Apple CA 证书。即使这张 CA 已经在「证书信任设置」中打开完全信任,请求也会在 TLS 校验阶段被拒绝,所以不再可行。
从 WLOC 到 WrapPin
先介绍一下:WrapPin 是我基于开源项目 Roam Control 维护的非官方社区中文分支。我在上游核心能力的基础上完成了中文适配,重新梳理安装、配对和使用流程,并针对连接稳定性和提示体验以及交互等方面做了修复与优化,重新构建出了 WrapPin 这个项目,让它更适合普通中文用户使用。
WrapPin 不依赖代理或 MITM 证书,而是通过本机配对和 LocalDevVPN 建立连接,调用 iOS 的开发者位置模拟服务设置坐标。目前本项目仍在持续更新,如果你在安装或使用中遇到问题,欢迎反馈并提出改进建议。
两条路线的核心区别如下:
| 对比项 | 传统 WLOC | WrapPin |
|---|---|---|
| 工作层级 | 改写 Apple 的 Wi-Fi、基站网络定位响应 | 使用 iOS 开发者位置模拟服务设置坐标 |
| 根证书 | 通常需要安装并完全信任本地 CA | 不需要 MITM 根证书 |
| 前置条件 | 代理、证书和兼容的定位接口 | 开发者模式、本机配对和 LocalDevVPN |
| 公网 IP | 不改变 | 不改变 |
| 连续移动 | 取决于具体实现 | 支持 Apple 地图步行路线 |
| 主要风险 | TLS 校验、定位域名或响应格式变化 | iOS 开发者服务或配对协议变化 |

WrapPin 与 WLOC 的「全方面升级版」,两者修改的不是同一层信号,适用范围和使用方法也各有不同,大家可以自行选择。
二、开始前要准备什么
本文以 WrapPin 最新 IPA 版本为准,需要准备:
- 一台运行 iOS 27 或更高版本的实体 iPhone,并已设置锁屏密码
- 一台 macOS / Windows / Linux 电脑,为手机第一次安装 SideStore 时使用
- 一根可以正常传输数据的 USB 线
- 一个可正常登录的 Apple 账号
- 可用的 Wi-Fi
- iPhone 安装 LocalDevVPN
- 电脑安装 iLoader
- WrapPin 仓库最新 IPA 包
注意:SideStore 在安装、更新或刷新 App 时,需要连接 Wi-Fi 并开启 LocalDevVPN。
各软件下载入口:
- SideStore:sidestore.io / 官方安装文档(英文,存在内容滞后和无效下载链接)
- iLoader:见下方截图
- LocalDevVPN:App Store
- WrapPin:GitHub Releases
请确认阅读英文版文档,中文文档可能滞后。

建议只从官方项目页面下载安装工具和 IPA。来源不明的网盘包可能被重新打包,没必要为省几分钟冒这个险。
三、在 iPhone 上安装 LocalDevVPN
从 App Store 下载安装 LocalDevVPN,注意国区商店无法下载,建议使用美区商店。
第一次打开时:
- 点击 Connect
- 系统询问是否允许添加 VPN 配置时,选择允许
- 输入锁屏密码确认
- 看到 LocalDevVPN 显示已连接即可
这里虽然名称里有 VPN,但它的用途只是让 SideStore 和 WrapPin 访问 iPhone 本机的内部服务,不会帮你更改 IP 或代理上网。注意:连接 LocalDevVPN 时会自动断开手机上正在运行的其他代理或 VPN。

四、用 iLoader 安装 SideStore
1. 在电脑上安装 iLoader
从 iLoader 的发布站点下载与你电脑系统匹配的版本并安装。

2. 安装后用数据线连接 iPhone
- 将 iPhone 连接到电脑
- 如果手机弹出「要信任此电脑吗」,选择信任并输入锁屏密码
- 打开 iLoader,确认设备列表里已出现当前 iPhone
如果 iLoader 找不到设备,先换一根确认支持数据传输的线,再检查电脑是否能在 Finder、iTunes 或 Apple Devices 中看到这台 iPhone,以确认是否连接成功。

3. 手机安装 SideStore Nightly
之所以选 Nightly,是因为我在测试的时候 SideStore Stable 版存在问题,更换 Nightly 才完成了测试。Nightly 会包含较新的协议适配,但稳定性理论上不如正式版。以后 SideStore Stable 更新并验证可用后,可以再改回 stable 版本。
在 iLoader 中:
- 登录准备好的 Apple 账号
- 选择刚才连接的 iPhone
- 点击 SideStore (Nightly)
- 等待签名和安装完成,中途不要拔线
Apple 账号开启双重认证时,系统可能要求输入验证码。按页面提示完成即可。
若出现是否撤销旧证书或创建新签名证书的提示,先确认这个账号有没有给其他侧载工具使用;撤销证书可能让此前由同一账号签名的 App 无法使用。

五、在 iPhone 上完成 SideStore 初始设置
安装结束后,SideStore 图标已经出现在 iPhone 上,但第一次打开前还要完成信任和开发者模式设置。
1. 信任开发者 App
打开:
设置 → 通用 → VPN 与设备管理
在「开发者 App」下找到刚才用于签名的 Apple 账号,进入后选择「信任」。

2. 开启开发者模式
打开:
设置 → 隐私与安全性 → 开发者模式
开启后,iPhone 会要求重启。重启并解锁手机,再次确认开启开发者模式。
WrapPin 本身也依赖开发者模式,所以这一步不能跳过。如果设置中暂时看不到「开发者模式」,先确认 SideStore 已成功安装、开发者 App 已完成信任,再重新检查。

普通 Apple 账号能不能开启开发者模式?
可以。开启 iPhone 的开发者模式不要求购买 Apple Developer Program,也不要求你的账号属于付费开发团队。它是设备上的安全开关,任何持有设备、知道锁屏密码并完成系统确认的人,都可以在满足触发条件后开启。
Apple 的说明是:开发者模式通常要在设备发起过开发配对,或经与 Mac 配对后,才会出现在「隐私与安全性」中。通过 iLoader 安装开发签名 App,也会触发这类使用场景。开启时需要重启设备,重启后再次确认并输入锁屏密码。
这里还要区分两件事:
- 开启开发者模式:不需要付费开发者资格。
- 给 SideStore 签名 IPA:需要一个可用于个人开发签名的 Apple 账号,免费账号就可以。如果 Apple 提示尚未注册开发者或没有可用团队,可以登录 Apple Developer 免费注册并接受协议,不必支付年费加入 Apple Developer Program。
3. 第一次刷新 SideStore 时长
- 确认 iPhone 已连接 Wi-Fi
- 打开 LocalDevVPN 并连接
- 打开 SideStore
- 使用刚才在 iLoader 中使用的同一个 Apple 账号登录
- 进入 My Apps
- 轻点 SideStore 右侧的 7 DAYS,手动刷新一次
- 如果弹出创建新证书或立即刷新的提示,按页面说明继续
这次刷新成功后,SideStore 的初始安装才算完整。以后不必一直连着电脑,但安装或刷新 App 时仍要打开 Wi-Fi 和 LocalDevVPN。

六、下载并校验 WrapPin IPA
打开 WrapPin 的 GitHub Releases,下载最新版本 .ipa 文件:

注意:这个版本是未签名 IPA,需要由 SideStore 使用你的 Apple 账号签名。
如果 IPA 是在电脑上下载的,可以通过 AirDrop、iCloud Drive 或数据线传到 iPhone 的「文件」App。建议放在「下载」目录,后面选择文件时比较好找。
七、用 SideStore 侧载 WrapPin
开始前再次检查:Wi-Fi 已连接,LocalDevVPN 已开启,SideStore 也可以正常打开,不然无法正常侧载 App。
然后按下面操作:
- 打开 SideStore
- 进入 My Apps
- 轻点左上角或页面中的 +,选择文件安装
- 在「文件」App 中选择 WrapPin 的 .ipa(注意这里通过 URL 安装会存在 Bundle ID 不匹配问题)
- 等待 SideStore 完成签名、上传和安装,安装完成后回到桌面确认 WrapPin 图标已经出现

请注意安装过程中不要切断 Wi-Fi、关闭 LocalDevVPN,或频繁把 SideStore 从后台划掉。第一次签名可能比刷新慢一些。
如果以后安装新版 WrapPin,直接新 IPA 覆盖安装。不要先删除旧版,否则收藏、历史、本地偏好和配对记录都可能被清掉,还要重新配对。
八、第一次打开 WrapPin:完成本机配对
1. 看完首次使用说明
打开 WrapPin,依次查看首次使用说明。系统询问本地网络权限时选择「允许」,否则 App 可能无法发现本机服务。

2. 配对步骤
- 进入 WrapPin 的「设备连接」页面
- 点击「配对这台 iPhone」
- WrapPin 会显示一个六位数字配对码
- 打开「设置 → 隐私与安全性 → 开发者模式 → 与 WrapPin 配对」
- 输入刚才显示的六位数字配对码
- 回到 WrapPin,确认状态变为「已就绪」

配对记录保存在 iPhone 本机钥匙串中,一般只需操作一次。不要分享配对文件、六位数字 PIN、Apple 账号或签名材料。
注意:这里在配对的时候需要输入两次 6 位密钥,一次是锁屏密码,一次是配对码,配对码在通知栏中查看。
九、模拟一个固定位置
完成配对后,确认 LocalDevVPN 仍处于连接状态,然后回到 WrapPin。
选择位置有几种方式:
- 搜索地点名称(国外地址搜索不友好,待后续优化)
- 输入经纬度
- 直接轻点地图放置位置点
- 从收藏或历史记录中选择
选好位置后:
- 检查地图上的位置点是否正确
- 轻点「开始模拟定位」
- 如果页面出现 LocalDevVPN 或网络提示,按提示处理
- 等待状态显示「模拟定位中」
- 打开 Apple 地图,确认当前位置是否已经变化

第一次测试建议先用 Apple 地图验收,不要直接用某个第三方 App 下结论。第三方 App 可能同时参考 IP、Wi-Fi、基站、账号地区、历史缓存或自己的风控数据;WrapPin 只改变系统报告的开发者模拟位置。
模拟过程中想换地点,可以回到 WrapPin 选择新位置,再点「更换模拟位置」,不需要重新配对或重建整条连接。
十、模拟步行路线
WrapPin 也可以沿 Apple 地图给出的步行路线连续更新位置。
- 在地图上选择目的地
- 轻点「预览步行路线」
- 检查路线、距离、预计用时和到达时间
- 选择步行速度
- 轻点「开始模拟步行」

步行过程中可以暂停、继续,也可以保持当前连接并更换目的地。路线由 Apple 地图返回,某些区域没有步行路线时,WrapPin 也无法凭空生成可路线。
十一、正确停止并恢复真实位置
测试结束后,不要直接强制退出 WrapPin。
正确做法是:
- 回到 WrapPin
- 轻点「停止模拟并恢复」
- 保持 App 在前台
- 等待页面确认真实位置已经恢复
- 打开 Apple 地图再次核对

如果 WrapPin 在模拟过程中意外退出,下次打开会出现恢复页面。你可以继续上一次固定位置或步行任务,也可以选择「恢复真实位置」。这个页面不会自动执行任务,仍需由你手动确认。

十二、Wi-Fi 和蜂窝网络模拟位置时的区别
使用 Wi-Fi:确认 LocalDevVPN 已连接。如果 WrapPin 一直停在「正在查找这台 iPhone」,先关闭再开启一次 LocalDevVPN,然后回到 WrapPin 轻点「重试」。如果手机上还有其他 VPN 或代理 App,先暂停它们。iOS 通常不能让多个 App 同时接管系统隧道。
使用 4G/5G:注意,蜂窝网络下建立本机连接时,WrapPin 可能提示你暂时关闭移动数据:
- 在 WrapPin 中启动所选位置
- 按页面提示暂时关闭蜂窝网络
- 回到 WrapPin,等待它发现本机
- 安全连接建立后,再按提示重新开启蜂窝网络
暂时关闭蜂窝网络只是为了建立本机连接。定位会话启动后,可以恢复移动数据模式。
十三、SideStore 的日常刷新
免费签名最容易被忽略的就是 7 天限制。7 天并不表示每次都要重新接电脑:只要 SideStore 自己还没有过期,就可以直接在 iPhone 上续签。
刷新步骤:
- 连接 Wi-Fi
- 打开 LocalDevVPN
- 打开 SideStore,进入 My Apps
- 点击 Refresh All,或点击各 App 右侧的剩余天数
- 等待 SideStore 和 WrapPin 都刷新成功

刷新是在延长签名有效期,不会删除 WrapPin 的本地数据。只要在签名过期前完成,通常不需要重新安装 IPA。
如果只是 WrapPin 临近到期,而 SideStore 还能打开,直接在手机上刷新即可。如果 SideStore 自己已经到期,它通常也无法启动,自然不能「给自己续签」。这时需要重新连接电脑,用 iLoader 覆盖安装 SideStore,再回到手机刷新或覆盖安装原有 App。
更新 WrapPin 时无需删除旧版本,覆盖安装和重新签名通常可以保留本地数据,删除 App 则会清掉收藏、历史、偏好,并可能要求重新配对。
十四、常见问题
SideStore 提示没有 Wi-Fi 或 LocalDevVPN
确认 Wi-Fi 和 LocalDevVPN 同时处于连接状态。关闭其他 DNS、代理或 VPN 工具,再重启 LocalDevVPN 和 SideStore。
SideStore 安装 IPA 卡在中途
先更新当前正在使用的 SideStore 版本。本文的 iOS 27 测试环境使用 Nightly,不要为了「稳定版」三个字退回已经安装失败的 stable。然后依次尝试:重新打开 App、清理 SideStore 缓存、切换可用的 Anisette Servers、重启 iPhone。仍然失败时,用 iLoader 重新放置配对文件或重装 SideStore。
SideStore 的配对文件失效
系统升级、还原设备或偶发的 App 配对变化都可能让记录失效。用数据线连接电脑,在 iLoader 中删除旧配对、重新信任设备,然后通过「Manage Pairing File」把新记录放入 SideStore。
WrapPin 一直找不到这台 iPhone
检查下面几项:
- LocalDevVPN 是否已连接
- 是否有其他 VPN 正在占用系统隧道
- WrapPin 的本地网络权限是否开启
- 当前选择的是 Wi-Fi 还是蜂窝网络流程
- 配对记录是否属于这台设备
可以先重新开关 LocalDevVPN,再回到 WrapPin 重试。若仍提示配对记录无效,移除旧记录后重新执行「配对本机」。
WrapPin 显示成功,但某个 App 的位置没有变化
先用 Apple 地图确认系统位置。如果 Apple 地图已经变化,而目标 App 没变,通常是对方面还在使用缓存或其他信号。WrapPin 不会同步修改 IP、Wi-Fi、基站、Apple 账号地区或第三方服务端记录,也不保证所有 App 都接受模拟位置。
停止后位置没有立即恢复
重新打开 WrapPin,使用恢复页面中的「恢复真实位置」,并保持 App 在前台。完成后再打开 Apple 地图检查。必要时关闭并重新开启「定位服务」,但不要在模拟仍未清理时直接把它当成已经恢复。
更多其他问题可以向我反馈。
十五、使用时必须知道的限制
- WrapPin 当前只支持 iOS 27 或更高版本的实体 iPhone。模拟器只能检查界面,不能完成真正的本机配对和定位模拟。
- LocalDevVPN 用于本机通信,通常会和其他正在接管系统 VPN 的工具冲突。
- WrapPin 改变的是开发者模拟位置,不是公网 IP、运营商归属、Apple 账号地区或 App Store 商店地区。
- 免费 Apple 账号签名需要定期刷新,并受 Apple 的 App ID 限制。
- 正常结束时一定要在 WrapPin 内停止并恢复真实位置,不要只杀掉 App。
- 长时间锁屏、后台保持以及第三方 App 是否接受模拟位置,都需要按具体设备和系统版本实测。
- 不要把它用于伪造打卡、欺骗他人、伪造证据、规避地区规则或干扰紧急定位。
结语
以上就是 iOS 27 修改定位的完整安装和使用过程。第一次配置步骤稍多,走通之后,日常使用和续签都比较省心。后续我会继续记录不同 iOS 27 小版本的兼容情况和实际问题。
项目地址:github.com/suversal/WrapPin
参考资料
- SideStore 官方网站
- SideStore 官方文档(安装前准备 · 请阅读英文版)
- SideStore 安装步骤(请阅读英文版)
- SideStore 项目仓库(配对文件与源码说明)
- SideStore 官方文档(FAQ:7 天签名与手机端刷新)
- SideStore 常见问题与反馈(Issues)
- seanhowarthdev/Roam-Control:上游项目(WrapPin 基于其核心能力维护)
- Apple 官方:在 iPhone 上开启开发者模式
- 传统 MITM 方案在 iOS 27 上的限制说明(社区讨论)
- OpenHRTT/wloc:仍在适配 iOS 27 的另一种 WLOC 实现

Comments NOTHING