开发工具#设备操控#虚拟化

vphone-cli:在 Apple Silicon Mac 上运行真实 iOS

vphone-cli 用 Apple 研究虚拟机在 Mac 上启动真实 iOS:固件预打补丁,可快照克隆,带本地自动化 API,安全研究和逆向不必再插真机。

项目资料

GitHub Ecosystem
仓库地址github.com/Lakr233/vphone-cli
许可证
MIT
主语言
Swift
星标
15,061
核查时间
2026-10-09

以上快照资料以核查当日为准,可能随版本或运营策略变化。

模拟器里的 iOS 和真机隔着内核与沙盒两层皮,安全研究想放手折腾,身边又未必常备一台搞坏了就重刷的测试机。Lakr(GitHub id Lakr233)开源的 vphone-cli(MIT 协议,Swift 编写,2026-02-26 创建,截至 2026-10-09 已 15,061 星)换了一条路:借 Apple 自家 Virtualization.framework 和 PCC(Private Cloud Compute)研究虚拟机的通道,在 Apple Silicon Mac 上直接启动真实的 iOS——真内核、真沙盒,模拟器给不了这个。固件由项目预先打好补丁再恢复进虚拟磁盘,宿主机只需在恢复模式里放宽一处调试限制,SIP 保持开启。项目在致谢里写明起点是 wh1te4ever 公开的 super-tart vphone 研究笔记;最新版 2.8.0 于 2026-10-08 发布,累计 30 个版本。

vphone-cli 在 macOS 窗口里运行的虚拟 iPhone 屏幕

核心功能

  • 跑的是真实 iOS:走 Apple 的 Virtualization.framework 加研究虚拟机通道(宿主机需 macOS 15+,在恢复模式执行 csrutil allow-research-guests enable),把 iPhone 固件恢复进默认 64 GB 的虚拟磁盘后开机。项目文档公开了固件补丁清单,已验证 iPhone 17(iPhone17,3)配 iOS 26.6.2 和 27.0 能一路开机到锁屏并应答探测。
  • 图形窗口:Launchpad 应用里直接操作虚拟 iPhone 的屏幕,装 App、浏览文件、截图录屏;也支持换装 iPadOS(已验证 iPad mini A17 Pro)。
  • 快照与克隆:停机后保存磁盘快照、随时回滚;虚拟机可导出为 .tzst 归档、导入别机、原地克隆,全部存在 ~/.vphone/。
  • 自动化 API:启动时加 --api-listen 127.0.0.1:8765 即开放本机 HTTP 加 WebSocket 接口,装在客户机里的 vphoned 守护进程应答;令牌每次启动刷新(可用 VPHONE_API_TOKEN 固定),无令牌和来自网页的请求一律拒绝。
  • Agent 可以代劳:仓库自带 vphone-guest-control 技能和一段粘贴即用的提示词,Claude Code、Codex 读了就能检查环境、装 Launchpad 和 VPhone.bundle,遇到要管理员密码或改动恢复模式的步骤会停下来等你;最近的提交里也多次出现 Claude 的联署署名,项目自己就在用智能体开发。
  • 零运行时依赖:分发的是公证过的 Launchpad 加 VPhone.bundle,运行时不需要 Xcode、Python 或 Homebrew。

典型使用场景

  • 安全研究与逆向:一台可以随时快照、搞坏即弃的 iOS 环境;装上 roothide 软件包环境后,apt、ssh、git 和整套常用命令行工具都齐了。
  • 自动化测试:用自动化 API 把虚拟机编进 CI 或本地脚本,反复跑安装、启动、截屏流程,不用排队抢真机。
  • 给 Agent 一台手机:配合屏幕操控类工具,让编码智能体直接在虚拟 iPhone 里点按操作,虚拟机随便克隆,实验完回滚即可。

快速上手

需求:一台实体 Apple Silicon Mac(macOS 15 或更新,macOS 虚拟机里跑不了)、磁盘空间(每台虚拟机默认 64 GB,固件另算)、联网(恢复系统要在线取签名票据)。先进恢复模式放宽一处限制(SIP 保持开启,只关调试限制):

csrutil enable --without debug
csrutil allow-research-guests enable

重启后从最新 release 下载公证版 vphone-launchpad-<版本>-notarized.zip,在 Host Setup 里装好辅助程序,Core Bundle 点一次下载安装,再到 Machines 里新建虚拟机,Launchpad 会自动完成固件下载、打补丁、恢复系统和首次开机。之后在终端里用 CLI 管理:

vphone-cli vm list
vphone-cli vm launch myphone
vphone-cli vm export myphone --out myphone.tzst

不想动手,可以把仓库 README 里的提示词整段粘给 Claude Code,让它照着 vphone-guest-control 技能自己装。

小结

适合需要真 iOS 环境的安全研究员、逆向工程师和自动化测试开发者,也适合想让智能体摸到 iPhone 的玩家;想拿它当日常系统或玩手游的人不必来——图形性能和陀螺仪、蜂窝这类硬件能力不在设计目标里。MIT 协议,主语言 Swift。动手前认清三点:

  • 宿主机安全姿势要改:必须进恢复模式执行两条 csrutil 命令并重启,SIP 仍开启但调试限制被放宽,介意的人绕行。
  • 固件组合有验证名单:官方完整跑通的是 iPhone 17 配 iOS 26.6.2/27.0 加 cloudOS 26.4 beta 映像;更新的 cloudOS 已移除客户机需要的 vphone600ap 设备标识,fw prepare 会直接拒绝;iPhone 17 Pro 系列的 iOS 27 还要额外的共享区域补丁。
  • 磁盘开销不小:每台虚拟机默认 64 GB,固件和临时文件另算;2.x 无法启动 1.x 创建的虚拟机,升级前看清 release 说明。

同样是把手机交给智能体,phone-harness 用 iPhone 镜像操控你手里的真机,vphone-cli 则虚拟出一台可以随意快照的 iPhone;想给智能体一整台电脑的还有 OpenMausBot。