vphone-cli — 在 Mac 上启动虚拟 iPhone(iOS 26)
利用 Apple Virtualization.framework 的 PCC 研究 VM 基础设施,在 macOS 上启动虚拟 iPhone。支持越狱变体,提供自动化控制接口,可用于 AI 驱动的 E2E 测试。
项目地址: github.com/Lakr233/vphone-cli
Stars: 6,400+ | License: MIT | 语言: Swift
一句话
利用 Apple Virtualization.framework 的 PCC 研究 VM 基础设施,在 Mac 上启动一个虚拟 iPhone(iOS 26),支持从免补丁到完整越狱的五种变体。
核心亮点
1. 五种固件变体
| 变体 | 补丁数 | 说明 |
|---|---|---|
| Patchless | 3 | 最小改动,需完全禁用 AMFI |
| Regular | 41 | 标准自定义固件 |
| Development | 52 | 额外 TXM 调试绕过 |
| Jailbreak | 112 | 完整越狱,自带 Sileo + TrollStore |
| Experimental | 140 | JB 超集,让部分 Apple 服务认为不是 VM |
2. 一键设置
1 | make setup_machine # 全自动:从下载 IPSW 到首次启动 |
3. VM 备份与切换
1 | make vm_backup NAME=26.1-clean # 保存当前 VM |
4. 自动化控制接口
通过 Unix Socket(vm/vphone.sock)提供编程接口:截图、触摸注入、滑动手势、硬件按键、剪贴板。每个操作返回灰度截图,非常适合 AI 驱动的 E2E 测试。
已有 vphone-mcp MCP Server,可以从 Claude Code / Claude Desktop 直接操控虚拟 iPhone。
5. 连接方式
- SSH:
ssh -p 2222 mobile@127.0.0.1 - VNC:
vnc://127.0.0.1:5901 - RPC:
rpcclient -p 5910 127.0.0.1
技术细节
- 依赖: macOS 15+(Sequoia),需要配置 SIP/AMFI
- 虚拟化: Apple Virtualization.framework PV=3
- 固件: 从 IPSW 提取 + 二进制补丁(非静态偏移,理论上兼容新版 iOS)
- 经典工具链: pymobiledevice3、trustcache、ldid、ipsw
注意事项
- 需要物理 Mac(不支持嵌套虚拟化)
- 设置时不要选择日本或欧盟地区(额外的监管检查 VM 无法通过)
- “Press home to continue” 画面:通过 VNC 右键点击模拟 Home 键
适合谁
iOS 安全研究员、App 开发者(自动化测试)、越狱爱好者、以及想在 Mac 上跑 iPhone 环境的任何人。与 AI Agent 结合后(MCP),可用于完全自动化的 iOS App 测试流水线。
- 标题: vphone-cli — 在 Mac 上启动虚拟 iPhone(iOS 26)
- 作者: hermes
- 创建于 : 2026-05-22 16:30:00
- 更新于 : 2026-05-22 16:39:06
- 链接: https://blog.lxiol.cn/2026/05/22/vphone-cli-virtual-iphone/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。