ARTICLE · 1139940
Mac 跑 iOS?一个能塞进 PC 里跑的苹果 iOS 系统虚拟机
vphone-aio 把 iOS 虚拟机打成一键包,但它并非普通 PC 模拟器。聊聊项目原理、当前推荐路线,以及上手前必须知道的硬件和安全门槛。
牛啊,看到这个仓库,我第一反应是:有人把 iOS 虚拟机这事儿打成了“一键包”。iPhone 桌面能出现在电脑窗口里,开机还是越狱环境,听着像是以后连苹果手机都不用买了?先别急着把旧 iPhone 挂二手平台,这个项目的门槛比帖子里看上去高不少。
帖子说的是 vphone-aio[1]。它把启动脚本和一大包现成文件放在一起,README 描述的是 iOS 26.1,已经越狱并装好 bootstrap。脚本会把压缩包拼起来、解压,再启动虚拟机,最后通过 VNC 看屏幕、通过 SSH 连接系统。简单讲,它主打的不是“模拟几张 iOS 界面”,而是把一套 iOS 虚拟机环境直接递到你手上。
图1:vphone-aio 仓库 README 的项目预览,画面是在 TrollVNC 窗口中显示的 iOS 桌面。
它有意思的地方,不只是桌面长得像 iPhone。vphone-cli 用 Apple 的 Virtualization.framework 和 PCC research VM 来运行 iOS guest;文档还写到可以备份、导入、克隆虚拟机,也能开本地自动化接口。这样做安全研究、逆向或重复测试时,至少不用每次都拿主力手机重置环境。注意,这是项目提供的能力入口,不代表每个 App、账号或苹果服务都能在虚拟机里照常工作。
不过,“塞进 PC”这句话得先翻译准确:它不是 Windows 或 Linux 电脑都能装的通用模拟器。底层用到 Apple 的虚拟化能力,实际要看 Mac 的芯片和系统环境;作者现在建议转去的 vphone-cli[2] 明确要求实体 Apple Silicon Mac、macOS 15 或更新版本,也不能套在另一台 macOS 虚拟机里运行。用途主要是安全研究、逆向和调试,不是把普通 iPhone 的所有功能原样搬进电脑。
还有个容易被忽略的变化:点开 vphone-aio 的 README,项目作者现在自己就建议新用户去看 vphone-cli,理由是更新和支持更好,README 还提到它已经支持 iOS 27。两个仓库别混成一个:vphone-aio 是旧的一键打包入口;vphone-cli 才是现在文档更完整、持续更新的那条路。
图2:vphone-cli 仓库的演示,展示虚拟 iPhone 窗口和 guest 系统内的命令行;这是 vphone-cli 的素材,不是 vphone-aio 的截图。
真想试,先从这几步看起
如果你手里是符合条件的 Apple Silicon Mac,可以先看 vphone-cli README 和下载页。新手路线大致是:找一个带 notarized 标记的 vphone-launchpad 版本,打开 Launchpad,在 Host Setup 里处理开发者工具权限和 helper;再下载 Core Bundle,最后到 Machines 里新建虚拟机、选择固件配对。注意,并不是每个最新 release 都有 notarized 安装包,下载前要核对清楚。
这也不是点完“下一步”就结束。恢复系统要联网获取签名票据;每台虚拟机默认就有 64GB 虚拟磁盘,固件还要额外占空间。宿主机安全设置也要按官方文档调整:当前路线保留 SIP,只放宽部分 debug 限制,但操作要进 macOS Recovery。没弄明白这一步,先停下来读文档,别把命令从帖子里复制过去直接跑。
虚拟机建好后,Launchpad 可以直接打开图形窗口;喜欢终端的话,vphone-cli vm list 看机器列表,vphone-cli vm launch <name> 启动指定机器,文档还给了导出备份的命令。建议先拿一台有备份、不是工作主力的 Mac 研究流程,固件配对和磁盘占用都确认好,再决定要不要真的创建 VM。
图3:这是 vphone-cli 仓库的 iPadOS guest 演示,用来说明上游项目还有另一类虚拟设备;它不属于 vphone-aio 的预置包。
原帖里的 vphone-aio 一键包就更不适合闭眼照抄了。它的 README 要求关闭 SIP、设置 AMFI 启动参数,下载内容约 12GB,并建议预留 128GB 以上空间。作者既然已经把读者引向 vphone-cli,我也不建议新手把这套旧步骤当成“最快上手法”。此外,vphone-aio 仓库没有列出 LICENSE;代码能在 GitHub 上看到,不等于再发布、改造或商用的授权已经写清楚。
所以,这玩意牛归牛,主要是给有 Apple Silicon Mac、愿意读文档、并且确实在做 iOS 研究或调试的人折腾的。想体验普通 App、依赖手机硬件或账号服务,还是得准备真实设备;虚拟机不等于“省下一台 iPhone”。我没在自己的机器上跑过它,以上是按项目文档整理的使用边界。你会为了研究或测试,在自己的 Mac 上折腾一台虚拟 iPhone 吗?
引用链接
[1]vphone-aio: https://github.com/34306/vphone-aio
[2]vphone-cli: https://github.com/Lakr233/vphone-cli