@GH4NG基于Go开发了一款带有GUI的跑步软件,请大家尝试使用他的仓库并测试提issue
本项目大概放弃继续更新了😋
本项目基于 iOSRealRun-cli-17 修改而来,并更新了依赖的 pymobiledevice3。
如果使用时出现了无法解决的报错可以考虑使用这个仓库手动启动。
测试环境:
- 操作系统:MacOS,Windows11,Linux
- Python 版本:3.13
- iOS 版本:18.3.1
- 系统是
Windows,macOS,Linux均可(Linux 请参考此 issue) - iPhone 或 iPad 系统版本大于等于 17(17 / 18 / 26 均可运行)
- Windows 需要安装 iTunes
- 已安装
Python3和uv/pip3(选择一种方式即可) - 重要: 只能有一台 iPhone 或 iPad 连接到电脑,否则会出问题
-
克隆本项目到本地并进入项目目录
-
安装依赖
# uv uv sync # pip pip3 install -r requirements.txt
-
修改配置和路线文件 (见 这里 的 4、5、7 步)
-
将设备连接到电脑,解锁,如果请求信任的提示框,请点击信任
-
Windows 以管理员身份 打开终端(cmd 或 PowerShell),先进入项目目录,然后执行以下命令
# uv uv run main.py # pip python main.py
macOS / Linux 打开终端,先进入项目目录,然后执行以下命令
# uv sudo uv run main.py # pip sudo python main.py
需要 管理员 / root 权限是因为需要创建 TUN 设备
-
按照提示操作,如果一直显示没有设备连接,Windows 平台请确保 iTunes 已安装(可能需要打开),重新运行程序,在第 3 步时请确保设备已连接,解锁并信任
-
结束请务必使用
Ctrl + C终止程序,否则无法恢复定位 -
如果定位未恢复,可以重启手机解决
基础配置:
v:模拟跑步速度,单位m/s。routeConfig:路线文件路径,路线文件由连续的{"lng":"...","lat":"..."}点组成。routeWarmupSeconds:第一圈开始前在起点预热/停留的秒数。routeOutputCoordinateSystem:发送给 iOS 前使用的坐标系,通常保持wgs84;可选wgs84、gcj02、bd09。
路线修正:
routeInsetMeters:整条路线向中心缩进的米数。routeRightInsetMeters:仅将路线东侧/右侧点向西收缩的米数。routeTopInsetMeters:仅将路线北侧/上侧点向南收缩的米数。routeLeftInsetMeters:仅将路线西侧/左侧点向东收缩的米数。routeLatOffsetMeters:整条路线南北平移的米数,正数向北,负数向南。routeLngOffsetMeters:整条路线东西平移的米数,正数向东,负数向西。
随机轨迹:
routeRandomOffsetMeters:每个采样点的平滑随机偏移最大半径,单位米。routeRandomOffsetSmoothing:逐点随机偏移的平滑程度,范围建议0到1;越大变化越快,越小越平滑。routeRandomSpikeProbability:每个采样点出现一次偶发 GPS 飘点的概率,例如0.05表示约 5%。routeRandomSpikeOffsetMeters:偶发 GPS 飘点的最大额外偏移半径,单位米。routeRandomSpikeSmoothing:偶发飘点出现/消失的平滑程度,越大越突然。routeRandomLapOffsetMeters:每圈分段整体偏移的强度,单位米,用来让不同圈之间不要完全重合。routeRandomLapOffsetSegments:每圈大致分成多少段来做整体偏移。routeRandomLapOffsetSegmentJitter:分段长度随机程度;0表示每段等长,越大每段长度差异越明显,可减少多圈后固定位置散开/交汇的痕迹。
兼容配置:
libimobiledeviceDir:旧版本兼容配置,当前主流程未直接使用。imageDir:旧版本 DeveloperDiskImage 相关配置,当前主流程未直接使用。