vphone-cli: A Virtual iPhone on Apple Silicon
vphone-cli boots a virtualized iPhone on Apple Silicon Macs so coding agents can drive UI flows for testing. MIT Swift project with 13k stars trending this week.
TL;DR:
Lakr233/vphone-cliis a Swift CLI that boots a virtualized iPhone on Apple Silicon Macs. It is MIT-licensed, sitting at 13,368 stars, and is most useful when you need an automated agent to drive real iOS UI flows.
What it is
Lakr233/vphone-cli lives in the Lakr233 GitHub account, the language is Swift, the license is MIT, and the repository has 13,368 stars and 1,590 forks. It is not archived, ships no homepage, and the GitHub API description field is empty for the upstream. The repository itself documents the project’s purpose in its README rather than the description string.
The project targets one specific scenario: a sandboxed, scriptable iPhone image that runs on macOS Apple Silicon, exposed as a CLI.
What it does well
Most iOS automation either requires a real device tethered over USB, or a slow simulator harness. vphone-cli takes a third path: a fully virtualized iPhone image that runs alongside macOS.
- Virtualized iPhone. The instance boots inside macOS without needing a USB-attached device, which makes it scriptable from a headless machine.
- CLI surface. Everything that matters for automation — start, stop, capture state — is a subcommand, so a coding agent or CI job can drive it without an Xcode UI.
- Swift-native. A Swift CLI on Apple Silicon is the cheapest path for the host loop, which means faster cold starts and lower idle CPU than wrapping a Python or Node orchestrator.
- Agent-friendly. When a coding agent needs to “test this flow on iOS,” it can invoke the CLI in place of a human tester.
How to try it
The README is the canonical install reference. A typical setup looks like:
git clone https://github.com/Lakr233/vphone-cli.git
cd vphone-cli
swift build -c release
# then follow the README's image acquisition steps to provide the iOS root
./vphone-cli boot
Once booted, the tool exposes its control surface to whatever scripting environment wraps the CLI.
When it fits, and when it doesn’t
vphone-cli fits teams shipping iOS apps who need automated UI flows without paying for a device farm, and individual developers who want to script agent-driven iOS interactions. It is less attractive if you only target the iOS simulator and do not need the virtualization layer, or if your fleet is Intel-only — Apple Silicon is the supported hardware path.
The 13k star count and 1,590 forks suggest a real community of users integrating it into their testing pipelines.
Source and Accuracy Notes
- Project page: https://github.com/Lakr233/vphone-cli
- Source repository:
Lakr233/vphone-cli(verified via GitHub APIhtml_url) - License: MIT (verified via GitHub API
license.spdx_id) - Stars at time of writing: 13,368
- Language: Swift
- Homepage: none provided in repository metadata
Related Posts
ai-setup
Recall – Persistent Memory for Claude Code via MCP Hooks
Recall gives Claude Code a permanent memory store that survives session restarts and context compaction. Four hooks capture and restore context automatically — with cloud SaaS or self-hosted options.
2/28/2026
dev-tools
Automotive Skills Suite for AI Engineering
Evaluate Automotive Skills Suite for APQP, ASPICE, HARA, safety-plan, and DIA workflows with setup notes, governance risks, and SME review guidance.
5/28/2026
dev-tools
awesome-agentic-ai-zh Roadmap Guide
Explore awesome-agentic-ai-zh as a Chinese agentic AI learning roadmap, with setup notes, track selection, study workflow, and evaluation guidance.
5/28/2026