
vphone-cli
Runs a virtual iPhone on an Apple Silicon Mac, for security research and debugging.
- Stars
- 16.4k
- Forks
- 1.9k
- Licence
- MIT
- Language
- Swift
- Last update
- 4 days ago
- Type
- App
What it is
vphone-cli runs iOS inside a virtual machine on an Apple Silicon Mac, using Apple's Virtualization.framework. The README says it is meant for security research, reverse engineering, and debugging. You can view the virtual iPhone's screen in a window on your Mac, take screenshots, export and clone virtual machines, and optionally control the device through a local HTTP and WebSocket interface.
- View and interact with a virtual iPhone's screen in a window on your Mac
- Take screenshots and screen recordings of the virtual device
- Export, import, and clone virtual machines with the vphone-cli command
- Turn on the local automation API to script the virtual device
Great for
- Security researchers studying iOS behavior in a controlled environment
- Reverse engineers who want a virtual iPhone on their own Mac
- Developers debugging iOS software without a physical device
- Users with a physical Apple Silicon Mac running macOS 15 or newer
Not ideal for
- Anyone without a physical Apple Silicon Mac, since the README says it does not work in a macOS VM
- People who cannot lower the Mac's debugging-related security settings, since setup requires changing SIP options in macOS Recovery
- Users who need a stock, unmodified iOS install, since the README says the system comes pre-patched
How to get it
- 1
Download the app
You'll need: Physical Apple Silicon Mac running macOS 15 or newer · Free disk space (64 GB per VM by default, plus firmware) · Network connection · Adjusted SIP settings via macOS Recovery
Download the notarized Launchpad release, unzip it, and open it (from the latest release page)
git clone https://github.com/Lakr233/vphone-cli - 2
Run it
- Download the notarized vphone-launchpad zip from the latest release and open it
- In Host Setup, grant Developer Tools access and install the helper
- In Core Bundle, click Download and Install
- In Machines, click New Machine, choose a firmware pairing, and click Create
- 3
Get the most out of it
- Use the automation API by adding --api-listen 127.0.0.1:8765 at launch, as described in the README
- Use vphone-cli vm export and import to back up or clone VMs
- Use snapshots to save a stopped VM's disk state and revert to it, per the Snapshots guide
- Use the networking guide's tunnel option if your Mac runs behind a VPN or proxy
Downloads
Strengths
- Runs locally on your own Mac with no Xcode, Python, or Homebrew needed at runtime, according to the README
- Has a graphical window plus a command-line interface for managing VMs
- Released under the MIT license and has a notarized download option
Trade-offs
- Requires lowering parts of macOS security (SIP debugging restrictions) via Recovery Mode commands, which is a real trade-off for your Mac's security
- Needs a network connection and a large amount of disk space (each VM has a 64 GB virtual disk by default, and firmware takes more)
- The README is truncated and does not fully explain which iPhone firmware versions are supported; the project points to a separate compatibility guide
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.