共计 2894 个字符,预计需要花费 8 分钟才能阅读完成。
MacOS 上直接跑真实 iPhone 系统,这款开源神器颠覆 iOS 开发测试
各位玩技术的小伙伴们,星哥又挖到宝了!做 iOS 开发、测试或者安全研究的朋友,是不是总被苹果的封闭生态搞得头大?想测个功能得备一堆真机,成本高不说,管理起来还贼麻烦。但今天星哥要分享的这款开源神器 ——vphone-cli,直接把这个痛点给治了,它能让你在 Mac 上直接启动一台运行 真实 iOS 系统 的虚拟 iPhone,不是模拟器,是真真正正的 iOS 环境!
别再把它和 Xcode 模拟器混为一谈!
很多人第一眼看到“虚拟 iPhone”,会觉得和 Xcode 模拟器没啥区别,但这俩真不是一回事儿。
Xcode 模拟器说白了就是在 macOS 上搭了个能跑 iOS 应用的壳,系统底层还是 macOS 那一套;而 vphone-cli 不一样,它是基于苹果官方的 Virtualization 框架,直接虚拟化出一整套完整的 iOS 设备 —— 从系统内核、App Library 到通知中心,甚至文件系统交互,和你手里的真机几乎没差,是能真正“用起来”的虚拟设备。
以前咱们做 iOS 兼容性测试、安全研究,要么得凑一堆不同型号的真机,要么得在模拟器上凑活,测试结果还不一定准。现在有了 vphone-cli,敲几行命令,虚拟 iPhone 立马就位,批量创建、脚本控制都能搞定,CI/CD 流程直接拉满,苹果最封闭的那层生态,算是被这工具撬开了一道口子。

这神器到底强在哪
- 1. 原汁原味的 iOS 系统环境:底层直接绕开了签名验证和激活流程,到手就是一个纯净的 iOS 环境,不管是深度测试还是技术研究,都能放开了搞。
- 2. 功能一点没阉割:虚拟设备有完整的 iOS 可视化界面,App Library、通知中心这些系统功能全正常,还支持模拟键盘输入、清理缓存,和操作真机没两样。
- 3. 自动化党狂喜:作为命令行工具,天生适配自动化流程。批量创建、关闭虚拟设备,用脚本一键控制,测试团队再也不用手动折腾设备了。
- 4. 可选越狱环境超贴心:项目提供不同固件版本,越狱版首次启动就预装 Sileo、TrollStore 这些工具,做安全研究、高级调试的朋友直接省了一大步。
- 5. 稳得一批:基于苹果官方框架开发,兼容性和稳定性不用愁,现在在 GitHub 上已经拿下 3000 + 星标,口碑直接拉满。
vphone-cli 和 vphone-aio
两个开源工具地址如下:
https://github.com/Lakr233/vphone-cli
https://github.com/34306/vphone-aio.git
vphone-aio 是 vphone-cli 的一键封装懒人包,前者是底层核心项目,后者是开箱即用的整合版。
vphone-aio 完全基于 Lakr233 的 vphone-cli 构建,是它的二次打包 / 一键脚本版,并非独立新项目。两者都是在 macOS 上用 Virtualization.framework 启动 虚拟 iPhone(iOS 26),支持越狱、SSH、VNC、自定义固件等能力。
对比
| 维度 | vphone-cli(核心项目) | vphone-aio(一键包) |
|---|---|---|
| 定位 | 原生命令行工具、研究向核心仓库 | 一键自动化脚本、开箱即用整合包 |
| 维护者 | Lakr233(原作者) | 34306(二次封装者) |
| 安装复杂度 | 高:需克隆子模块、编译、多步命令 | 极低:一条脚本自动合并、解压、部署 |
| 文件形式 | 完整源码 + 构建流程 | 预打包分卷压缩包 + 自动合并脚本 |
| 定制能力 | 强:4 种固件变体、自定义配置、备份切换 | 弱:固定 iOS 26.1、默认越狱 |
| 更新速度 | 快:持续迭代补丁、支持新系统 | 慢:依赖原项目更新后重新打包 |
| 体积 | 小(源码) | 大(约 12GB 打包镜像) |
| 适合人群 | 开发者、安全研究人员 | 普通用户、不想折腾的人 |
| 越狱状态 | 可选(普通 / 开发 / 越狱) | 默认已越狱 + 预装全套 |
| 启动方式 | 多命令分步执行 | 运行一个 sh 脚本完事 |
两种安装方式
这里推荐第二种方法安装。
方式一:玩官方原版
第一步先去 GitHub 找仓库(https://github.com/Lakr233/vphone-cli),里面有详细的中文文档,从先决条件到快速上手写得明明白白;
接着按文档克隆仓库、执行安装命令(注意项目有大固件文件,得装 git-lfs,下载可能要多等会儿);
安装好后敲命令启动虚拟机,用 VNC(比如 vnc://127.0.0.1:5901)就能连到虚拟 iPhone 的图形界面,直接操作!

方式二:vphone-aio 一体化脚本(新手首选)
官方版设置稍复杂,社区大神 34306 做了个 vphone-aio 一体化脚本,简化了流程
1. 前期准备(必须操作)
你 必须 先关闭 Mac 的 SIP 与 AMFI 限制,否则虚拟机无法启动。
关闭 SIP / AMFI 步骤
- 1. 重启你的 Mac,开机时按住
Command + R进入恢复模式 - 2. 顶部菜单栏打开 实用工具 -> 终端
- 3. 依次输入以下命令:
csrutil disable
sudo nvram boot-args="amfi_get_out_of_my_way=0x1 ipc_restrict_boot=0"
- 1. 重启电脑生效
警告:修改这些启动参数会降低系统安全性,仅用于本机实验研究,用完可以恢复默认。
2. 恢复系统默认(用完还原)
日后想要恢复原始安全设置,恢复命令:
csrutil enable
sudo nvram -d boot-args
重启即可恢复。
3. 下载本项目
直接下载仓库全部文件,或者克隆仓库:
git clone https://github.com/34306/vphone-aio.git
cd vphone-aio
4. 一键启动
直接运行启动脚本:
./start.sh
脚本会自动完成全部流程:解压固件、配置环境、启动虚拟机。
默认信息
- • 默认系统:iOS 26.1
- • 默认已越狱
- • SSH 地址:
127.0.0.1 - • SSH 端口:
2222 - • SSH 账号密码
- • 用户名:
root - • 密码:
alpine
- • 用户名:
- • VNC 访问地址:
127.0.0.1:5900

常见问题
Q1:运行脚本提示权限不足
执行赋予权限命令:
chmod +x start.sh
Q2:虚拟机启动黑屏 / 无法启动
- 1. 检查是否已经正确关闭 SIP 和 AMFI
- 2. 确认 macOS 版本为 15 及以上
- 3. 检查磁盘空间是否充足
Q3:无法连接 SSH
确认虚拟机已经完全开机,再进行连接,不要在启动初期就连接。
Q4:电脑变得很卡
iOS 虚拟机本身占用内存极高,建议关闭后台所有软件,内存低于 16GB 体验会很差。
总结
vphone-aio 完全基于原生项目 vphone-cli 二次封装开发,二者均依托苹果 Virtualization.framework,可在 macOS 系统运行 iOS 虚拟机,支持越狱、SSH、VNC 连接,运行环境要求一致,都需关闭系统 SIP 与 AMFI 安全限制。
原版 vphone-cli 是底层核心命令行工具,属于开源原生项目,功能全面、可高度自定义,支持多版本固件切换,但部署繁琐,需要手动配置环境、编译、下载固件,适合技术研究与深度折腾用户。
而 vphone-aio 是一键整合懒人包,内置全部固件、依赖与启动脚本,无需编译配置,一键运行即可启动虚拟机,默认预装越狱环境,上手简单。
感兴趣的朋友可以去 GitHub 瞅瞅。






