Swift · 项目报告

ChrisMack32/Locus

Free open-source iPhone location teleport (MIT)

已完成 打开 GitHub
C
276星标
32Fork
5Issue
MIT许可证

分析结果

项目分析

Locus 是一个 MIT 开源的 iPhone 系统级位置模拟/“位置传送”工具,使用 Apple 开发者位置模拟机制通过 developer location service 向 iOS 的 locationd 注入坐标,使 Apple Maps 等依赖系统定位的应用看到伪造 GPS。它支持地图点选、地点搜索、摇杆移动、路线行驶、GPX 导入导出、收藏和后台保活。项目使用 Swift 开发,当前 GitHub 约 260 stars、31 forks,定位清晰但属于较敏感的 iOS 定位模拟工具。

适用领域 iOS 开发 / 移动端工具 / 位置模拟 / 开发者调试 / 地图与导航 / Swift 应用 / Apple Developer 工具链
配置难度 中高。对于熟悉 iOS 侧载、Developer Mode、Xcode 签名和配对文件的开发者来说可以接受;对普通用户来说安装、LocalDevVPN、RPPairing、LiveContainer 文件导入等步骤有明显门槛。
商业价值 对中国开发者而言,Locus 的主要价值在于降低定位类 App 的测试成本,尤其适合地图导航、本地生活、出行、外卖、社交、运动轨迹、风控验证等业务的客户端测试。它可以帮助团队在不真实移动、不依赖远程真机地理分布的情况下模拟多城市、多路线、多速度场景。但它不是合规风控绕过工具,也不适合用于游戏作弊或违反平台规则的商业用途。
01

技术亮点

  • 系统级位置模拟,不只是 Wi‑Fi 定位欺骗,更接近 Xcode 的开发者位置模拟机制。
  • 支持地图点选、地点搜索、摇杆移动、路线规划、手绘路径、GPX 导入导出。
  • 功能较完整,适合定位类 App 的开发与测试。
  • 完全本机运行,README 声称无 analytics、无上传。
  • MIT 开源协议,便于学习、审计和二次开发。
  • 使用 idevice FFI 与 Apple DVT location simulation 机制通信,技术路线明确。
  • 对 Pokémon GO 等高风控游戏的限制有明确说明,避免误导用户。
02

目标用户

  • 需要测试定位相关功能的 iOS 开发者
  • 需要在不同城市或路线下验证 App 行为的 QA 测试人员
  • 研究 iOS 开发者位置模拟机制的技术用户
  • 需要系统级临时模拟位置的高级 iPhone 用户
  • 熟悉侧载、签名、Developer Mode、Xcode 或相关工具链的用户
03

配置要求

  • iPhone 需要支持并启用 Developer Mode。
  • 侧载预构建 IPA 不需要 Apple Developer 账号,但源码构建需要免费或付费 Apple Developer 账号用于签名。
  • 需要 LocalDevVPN 作为 loopback 隧道。
  • iOS 27 可在本机完成远程配对;iOS 18–26 需要导入 RPPairing 文件。
  • Bundle ID 为 com.chrismack.locus。
  • 若从源码构建,需要 macOS、Xcode、XcodeGen、有效 Team ID。
  • 部分侧载/容器环境如 LiveContainer 可能需要额外处理文件导入问题。
  • 建议首次位置模拟在 Wi‑Fi 环境下启动。
04

适用场景

  • 测试打车、外卖、地图、运动、旅游、本地生活等 App 在不同地理位置下的表现
  • 在 Apple Maps 或其他普通系统定位应用中模拟当前位置
  • 通过摇杆模拟步行、跑步、骑行或驾驶轨迹
  • 导入 GPX 文件复现真实路线或测试轨迹回放
  • 在无后端上传和无分析埋点的前提下进行本机定位调试
  • 验证 App 对系统定位变化、后台定位、路径移动的处理逻辑
05

部署与配置

  • 方式一:从 GitHub Releases 下载预构建 IPA。
  • 使用 AltStore、SideStore、Sideloadly、TrollStore、LiveContainer 或其他支持的方式将 IPA 侧载到 iPhone。
  • 安装 LocalDevVPN,用于本机 loopback developer tunnel,默认地址为 10.7.0.1。
  • 在 iPhone 上启用 Developer Mode。
  • iOS 27:在 Locus 设置中选择 Pair on this iPhone,按系统提示确认 6 位配对码。
  • iOS 18–26:使用 idevice_pair 生成 RPPairing 文件,并在 Locus 中导入一次。
  • 如果在 LiveContainer 中使用,文件选择器可能不可用,可启用 Fix File Picker、将配对文件分享进 LiveContainer → Locus,或复制 RPPairing plist 内容后在 Locus 中从剪贴板粘贴。
  • 首次使用建议先在 Wi‑Fi 下启动一次位置传送,会话建立后可在蜂窝网络下继续工作。
  • 方式二:从源码构建,先安装 XcodeGen:brew install xcodegen。
  • 在 project.yml 中设置 DEVELOPMENT_TEAM,或生成工程后在 Xcode 的 Signing & Capabilities 中选择开发者团队。
  • 运行 xcodegen generate 生成 Xcode 工程,然后 open Locus.xcodeproj 打开并编译。
  • 也可以使用 xcodebuild 命令行构建,并传入自己的 Apple Developer Team ID。
06

风险与注意事项

  • 位置模拟属于敏感能力,可能违反某些 App、游戏或服务的使用条款。
  • 不适合用于规避风控、作弊、刷单、薅羊毛或绕过区域限制等场景。
  • Pokémon GO 等应用通常会检测并拒绝开发者模拟 GPS,Locus 明确不提供反作弊绕过能力。
  • 依赖 Apple 私有或半私有开发者调试机制,未来 iOS 更新可能导致失效。
  • 侧载、Developer Mode、VPN 隧道、RPPairing 配置对普通用户门槛较高。
  • 使用第三方 IPA 或侧载环境存在签名失效、来源安全、配置错误等风险。
  • 后台保活和定位模拟可能带来耗电增加或系统异常行为。
  • 在生产设备上长期使用可能影响正常定位体验,建议测试机优先。

历史记录

热榜历史快照

2026-08-03 第29名 新收录 · github_search
2026-08-02 第26名 新收录 · github_search
2026-08-01 第23名 新收录 · github_search