Someone got iOS booting in a VM on macOS — here's what actually works

5 min read 1 source explainer
├── "vphone-cli democratizes iOS virtualization by exposing what Apple already built, without any exploits or bypasses"
│  ├── top10.dev editorial (top10.dev) → read below

The editorial emphasizes that vphone-cli ships no iOS image, bypasses no code signing, and unlocks nothing Apple hasn't already unlocked in Virtualization.framework itself. It's simply wiring up the _VZIOSConfiguration classes Apple has been quietly exposing, using the same code path Xcode's simulator team and Apple's own QA use internally.

│  └── Lakr233 (GitHub (vphone-cli)) → read

The project author built a ~600-line Swift CLI that feeds an Apple-signed .ipsw to Virtualization.framework and boots stock iOS with a working SpringBoard. The design deliberately requires users to bring their own signed restore image, keeping the tool on the legitimate side of Apple's signing infrastructure.

└── "This fills a real gap left by Corellium, the iOS Simulator, and dev-fused hardware"
  ├── top10.dev editorial (top10.dev) → read below

The editorial frames the existing options as inadequate: Corellium costs four to five figures a year and was sued by Apple, Xcode's Simulator is a userland re-host that lies about kernel/IOKit/Secure Enclave behavior, and dev-fused hardware is a gray market that doesn't scale. A scriptable, headless, reproducible iOS VM using Apple's own framework fills a decade-old need for security research, fuzzing, and CI.

  └── @hentrep (Hacker News, 392 pts) → view

The submitter surfaced the repo to HN where it hit 392 points within hours, reflecting broad community recognition that a lightweight, Apple-blessed path to a real iOS VM has been quietly wanted for a decade.

What happened

A developer going by Lakr233 published vphone-cli, a small Swift command-line tool that boots a virtual iPhone on an Apple Silicon Mac using Apple's own Virtualization.framework. The repo hit 392 points on Hacker News within hours, which is what happens when something people have quietly wanted for a decade shows up as ~600 lines of Swift on GitHub.

The framework itself is not new — Apple shipped VZ back in macOS 11, and it's been usable for Linux and macOS guests since Ventura. What's new is that vphone-cli wires up the `_VZIOSConfiguration` family of private-ish classes that Apple has been slowly exposing, feeds them an Apple-signed iOS restore image (an `.ipsw`), and gets to a boot. There is no jailbreak, no kernel patch, no exploit chain. It's the same code path Xcode's simulator team and Apple's own internal QA use, just exposed to userland.

The interesting technical detail is what the tool doesn't do: it doesn't ship an iOS image, doesn't bypass code signing, and doesn't unlock anything Apple hasn't already unlocked in the framework itself. You bring your own `.ipsw`, the framework verifies it against Apple's signing servers, and the VM boots into a stock iOS with a working SpringBoard. Input is forwarded through the standard VZ virtio devices; display comes out over a Mac window.

Why it matters

Until this week, if you wanted a scriptable, headless, reproducible iOS environment for security research, malware analysis, fuzzing, or CI, you had roughly three options. Corellium, which charges four to five figures a year and got sued by Apple over exactly this capability before settling. Xcode's iOS Simulator, which is not a VM — it's a userland Mach-O re-host running iOS frameworks on macOS, which means anything that touches the kernel, IOKit, or the Secure Enclave lies to you. Or dev-fused hardware, which is a gray market at best and requires physical device management that doesn't scale.

vphone-cli is the first free tool that gives you a real iOS kernel, running under a real hypervisor, that you can start and stop from a shell script. That is a meaningful shift for a specific slice of the industry, even if the tool itself is barely more than a wrapper.

The caveats are load-bearing, though. The Secure Enclave in the VM is emulated, not real, so anything that depends on hardware-backed attestation — DeviceCheck, App Attest, Apple Pay, iCloud Keychain sync — will either refuse to run or behave differently. App Store apps will not install, because FairPlay DRM requires a real device identity that the VM does not have. Push notifications, iCloud sign-in, and anything that hits Apple's activation servers with a device certificate check will fail. This is not Corellium; it's the shape of Corellium with a lot of the interior removed.

Community reaction on HN has been unusually well-informed. The top comment from someone who worked on the framework points out that Apple has been quietly building toward this for two releases — the `_VZMacPlatformConfiguration` and `_VZAppleGraphicsDeviceConfiguration` classes have had iOS-shaped siblings since macOS 14, they just weren't documented. The read from the folks who watch this closely is that Apple is deliberately leaving the door cracked, probably because internal teams want it and probably because the Corellium lawsuit made "we don't allow this" an awkward legal position. The second-most-upvoted comment is a security researcher noting that a scriptable VM with a real kernel is worth more to their workflow than jailbroken hardware, because you can snapshot it.

What's less discussed but worth flagging: this only runs on Apple Silicon Macs, because Virtualization.framework's iOS path uses the same arm64e kernel that ships on iPhones. An Intel Mac cannot run this and never will. If your CI fleet is still on Intel Mac minis, this doesn't help you until you migrate to M-series hardware, and Apple has been aggressively deprecating Intel host support in Xcode anyway.

What this means for your stack

If you do mobile security research or reverse engineering, this changes your budget conversation immediately. A Corellium seat runs $10k–$50k/yr per user depending on tier. If vphone-cli covers 60% of your workflow — static analysis, dynamic instrumentation with Frida, kernel-level tracing, snapshot-and-replay fuzzing — you can justify keeping Corellium only for the things that need real hardware attestation. That's a real number.

If you run iOS CI, the honest answer is: not yet, and maybe not soon. Xcode's simulator remains faster to boot, integrates with `xcodebuild` and `xctest`, and covers the app-level surface most CI cares about. A VZ-based iOS VM boots slowly (~40 seconds in the demos), consumes real memory (~4GB minimum), and doesn't run App Store binaries. For most app teams, the simulator is still the right tool; vphone-cli is for the workloads where the simulator's fictions actively mislead you.

If you build security products — MDM, EDR, app-shielding, RASP — this gives you a reproducible target for your own testing without the legal ambiguity of Corellium or the operational drag of a device lab. Snapshot before install, run your agent, snapshot after, diff. That's a much cleaner development loop than what most vendors have today.

The practical adoption question is how long Apple leaves this alone. The framework calls vphone-cli depends on are underscore-prefixed, which in Apple-land is the universal signal for "we can remove this at any point release." A future macOS 27 could tighten `_VZIOSConfiguration` to require a private entitlement only Xcode has, and the tool stops working overnight. If you're planning to depend on it, budget for the possibility that you're renting, not owning.

Looking ahead

The more interesting question isn't whether vphone-cli survives — it's whether Apple ships an official version. The company has every internal incentive to expose iOS virtualization publicly: it makes CI cheaper for developers, undercuts a company they've been litigating against, and matches what Google already offers with the Android emulator. A signposted, entitled, App Store-app-capable iOS VM at WWDC 2026 would not be surprising, and vphone-cli's warm reception is the kind of thing product managers screenshot for pitch decks. Until then, this is a clever hack that exposes something Apple was going to have to expose eventually. Worth cloning, worth playing with, and worth being honest about what it can't do.

Hacker News 402 pts 109 comments

Boot a Virtual iPhone via Apple's Virtualization.framework

→ read on Hacker News

// share this

// get daily digest

Top 10 dev stories every morning at 8am UTC. AI-curated. Retro terminal HTML email.