Lakr233/vphone-cli

▲ 3,827 stars today★ 14,594⑂ 1,716

Run a virtual iPhone on an Apple Silicon Mac.

About Lakr233/vphone-cli

Lakr233/vphone-cli is an open-source project on GitHub, mainly written in Swift. Run a virtual iPhone on an Apple Silicon Mac. It currently holds 14,594 stars and 1,716 forks with 30 open issues, and was last pushed on 2026-09-28 (repository created 2026-02-26).

Project Overview

Git Homed tracks it on the Today's Trending board.

GitHub Repository Details

Repository Lakr233/vphone-cli · default branch main · size 10017 KB · watchers 75 · source: GitHub REST API and repository README

README

Docs · English · 中文 · 日本語 · 한국어

vphone-cli

Run a virtual iPhone on an Apple Silicon Mac.

Virtual iPhone running on macOS

vphone-cli runs iOS with Apple's Virtualization.framework and PCC research virtual machines, for security research, reverse engineering, and debugging.

Requirements

  csrutil enable --without debug
  csrutil allow-research-guests enable
  

SIP stays enabled, with only the debugging restrictions relaxed. For details, see Host Setup.

Get Started

1. Download vphone-launchpad--notarized.zip from the latest release, unzip it, and open it. Not every release is notarized. If the latest one has no -notarized file, pick a notarized version from Downloads. 2. In Host Setup, grant Developer Tools access and install the helper. 3. In Core Bundle, click Download and Install. 4. In Machines, click New Machine, choose a firmware pairing, and click Create.

Launchpad downloads the firmware, patches it, restores the system, and boots the VM. To use your own iPhone and cloudOS IPSWs, see Compatibility.

To install a package manager in the VM, see Package Environment.

Let an agent do it

If you use a coding agent (Claude Code, Codex, or similar) on this Mac, paste the prompt below instead of following the steps by hand. The agent reads the vphone skill, checks what is already set up, installs Launchpad and VPhone.bundle, and stops to ask when a step needs you, such as an administrator password or a change in macOS Recovery.

Set up vphone on this Mac. Read the skill at
https://raw.githubusercontent.com/Lakr233/vphone-cli/main/Skills/vphone-guest-control/SKILL.md
and the files it links under references/ (same folder), then follow them:
install the newest notarized vphone-launchpad (not every release has a
-notarized zip), put vphone-launchpad-cli on PATH, install the VPhone.bundle
that matches Launchpad's series, and check vphone-launchpad-cli status.
Do not change SIP, boot-args or any other host security setting, and do not
create a machine until I confirm the firmware and the free disk space. When a
step needs me, tell me exactly what to do and wait.

Command Line

Launchpad drives VMs through the vphone-cli inside VPhone.bundle. You can also run it in Terminal:

vphone-cli vm list
vphone-cli vm launch myphone
vphone-cli vm export myphone --out myphone.tzst

VMs are stored in ~/.vphone/. Run vphone-cli --help to see all commands. To create a VM without Launchpad, see Create and Run.

To turn on the automation API, add --api-listen 127.0.0.1:8765 at launch and use the token it prints. See the API documentation.

Documentation

| Document | Contents | | --- | --- | | Downloads | Notarized Launchpad versions and matching VPhone.bundle versions | | Host Setup | SIP and AMFI settings, building from source, environment checks | | Create and Run | Firmware sources, the creation process, storage and backups | | Compatibility | Verified firmware pairings | | iPadOS Guests | Run iPadOS (iPad mini A17 Pro) instead of iOS | | Package Environment | Installing and removing a package manager in the VM | | Troubleshooting | Common errors and how to fix them | | Networking | Network modes, and tunnel for a Mac behind a VPN or proxy | | Launchpad Command Line | Install and test a local build with vphone-launchpad-cli | | Contributing | Project structure, building from source, research notes |

If these do not solve your problem, open an issue.

Acknowledgements

GitHub Stars & Activity

14,594Stars
1,716Forks
30Open issues
SwiftLanguage

GitHub Popularity

GitHub stars14,594
Forks1,716
Open issues30
Primary languageSwift
LicenseMIT
Stars gained today3,827
Created2026-02-26
Last pushed2026-09-28

Trending History

Monthly boardrank #39 · ▲ 3,827 stars

Related GitHub Projects

1

exelban / stats

Swift★ 42,452⑂ 1,568▲ 32 stars
→
2

vorssaint / vorssaint-utils

Swift★ 25,887⑂ 1,093▲ 468 stars
→
3

p0deje / Maccy

Swift★ 21,875⑂ 1,199▲ 18 stars
→
4

tisfeng / Easydict

Swift★ 14,894⑂ 773▲ 9 stars
→
5

PlayCover / PlayCover

Swift★ 11,903⑂ 1,003▲ 11 stars
→
6

farzaa / clicky

Swift★ 7,695⑂ 1,534▲ 5 stars
→
7

xtool-org / xtool

Swift★ 6,538⑂ 223▲ 603 stars
→
8

HD838A / remote-mic-app

Swift★ 1,786⑂ 198▲ 32 stars
→

More Trending Repositories