- Published on
Boot a Virtual iPhone via Apple's Virtualization.framework
- Authors

- Name
- DeepHorus
A new open-source tool, vphone-cli, enables developers to boot a fully functional virtual iPhone directly on an Apple Silicon Mac, bypassing the need for physical hardware. This development is significant for iOS developers and security researchers, offering a streamlined way to test software and conduct investigations within a virtualized environment.
The tool leverages Apple's own Virtualization.framework, which was introduced for macOS and Linux guests but has not been publicly supported for iOS. The vphone-cli project reverse-engineers this capability, creating a virtual iPhone that runs on Apple Silicon Macs running macOS 15 Sequoia or later. This requires specific system permissions, including relaxed SIP and AMFI security controls, to load private entitlements and run unsigned code.
To use the tool, developers must first clone the repository from GitHub and install several dependencies using Homebrew, including Python, aria2, and OpenSSL. The installation process involves running setup and build scripts that compile the necessary components and create a signed application bundle. The entire workflow is designed to be automated with a single command.
The core functionality allows users to create, launch, and manage virtual iPhone instances. A single command, 'vphone-cli vm create,' handles the full pipeline: downloading the iOS firmware, patching the boot chain, performing a DFU restore, installing a custom firmware, and completing the first boot. Users can also manage individual steps manually for greater control.
Virtual machines can be configured with specific CPU and memory allocations, cloned for quick duplication, and exported for portability. The tool supports connecting to the virtual iPhone via SSH and VNC for development and debugging. It is intended for use within a controlled research or development environment.
Security researchers will find the patching variants particularly useful, as they offer increasing levels of security bypass for in-depth analysis. However, enabling this functionality requires modifying critical system security settings like SIP and AMFI, which could expose the host Mac to risks if not handled carefully.
The project's future likely involves continued refinement and potential community contributions. It represents a powerful addition to the iOS development toolkit, potentially accelerating app testing cycles and enabling new forms of security research without the constraint of physical device labs.