LV

lakr233/vphone-cli

Developer tools
1.5만 stars 품질 55 트렌드 55

Run a virtual iPhone on an Apple Silicon Mac.

개요

Run a virtual iPhone on an Apple Silicon Mac. vphone-cli runs iOS with Apple's Virtualization.framework and PCC research virtual machines, for security research, reverse engineering, and debugging. - Use the virtual iPhone's screen on your Mac, browse apps and files, and take screenshots and screen recordings. - The system comes pre-patched, and you can install a package environment. - You can export, import, and clone VMs. - An optional local HTTP and WebSocket interface. - Needs no Xcode, Python, or Homebrew at runtime. - A physical Apple Silicon Mac running macOS 15 or newer. It does not work in a macOS VM. - Free disk space. Each VM has a 64 GB virtual disk by default, and firmware takes more. - A network connection. Restoring the system fetches signing tickets online. - Adjusted security settings. Boot into macOS Recovery, run these commands in Terminal, then restart: SIP stays enabled, with only the debugging restrictions relaxed. For details, see Host Setup. 1.

README

vphone-cli

Run a virtual iPhone on an Apple Silicon Mac.

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

  • Graphical Window: Use the virtual iPhone’s screen on your Mac, browse apps and files, and take screenshots and screen recordings.
  • Custom Firmware: The system comes pre-patched, and you can install a package environment.
  • Backup and Cloning: You can export, import, and clone VMs.
  • Automation API: An optional local HTTP and WebSocket interface.
  • No Extra Dependencies: Needs no Xcode, Python, or Homebrew at runtime.

Requirements

  • A physical Apple Silicon Mac running macOS 15 or newer. It does not work in a macOS VM.

  • Free disk space. Each VM has a 64 GB virtual disk by default, and firmware takes more.

  • A network connection. Restoring the system fetches signing tickets online.

  • Adjusted security settings. Boot into macOS Recovery, run these commands in Terminal, then restart:

    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

View this README on GitHub

추천 도구

다른 키워드를 입력하거나 필터를 제거해 보세요.

설치

npx skillfish add lakr233/vphone-cli