vphone-cli allows users to boot a virtual iPhone (iOS 26) on a macOS system leveraging Apple's Virtualization.framework. This project provides a command-line interface for managing and configuring these virtual machines, facilitating testing, development, and research. It relies on a combination of tools and techniques, including patching iOS firmware and utilizing a custom VM configuration format.
vphone-cli provides a flexible and automated way to create, manage, and restore virtual iPhones. It supports multiple firmware variants (regular, development, and jailbreak) with varying levels of security bypass. The use of submodules simplifies dependency management and ensures compatibility with necessary tools. The project includes robust backup and restore capabilities.
- Firmware Patching: Supports patching iOS firmware to enable custom modifications and jailbreaking.
- Multiple Variants: Offers regular, development, and jailbreak firmware variants for diverse testing needs.
- VM Management: Provides commands for creating, restoring, and backing up virtual iPhones.
- Configuration Flexibility: VM configuration is stored in a
config.plistfile, allowing customization of CPU, memory, and disk size. - SSH Access: Enables secure shell access for interacting with the virtual iPhone.
- Automated Setup: Includes scripts for automating the setup process, including dependency installation and build.
- Backup and Restore: Supports efficient backup and restoration of VM states.
vphone-cli is an active project with ongoing development and maintenance. Recent commits indicate continued improvements and bug fixes. Extensive documentation is available to guide users through the setup and usage processes. While the project is relatively new, it has a growing community and is actively being shaped by user feedback and contributions.
vphone-cli benefits developers and researchers by offering a streamlined approach to virtualizing iOS devices on macOS. It simplifies the process of setting up and managing virtual iPhones, providing a consistent environment for development, testing, and experimentation. This tool reduces the need for physical devices and provides a powerful platform for iOS-related tasks.
