
Démarrez et gérez des iPhones virtuels sur Apple Silicon avec le patchage du firmware, des variantes de jailbreak et des fonctionnalités de recherche en sécurité pour les tests et l'analyse iOS.
Exécutez un iPhone virtuel sur un Mac Apple Silicon.

vphone-cli exécute iOS avec le Virtualization.framework d'Apple et les machines virtuelles de recherche PCC, pour la recherche en sécurité, l'ingénierie inverse et le débogage.
Un Mac Apple Silicon physique exécutant macOS 15 ou une version ultérieure. Cela ne fonctionne pas dans une VM macOS.
De l'espace disque libre. Chaque VM dispose d'un disque virtuel de 64 Go par défaut, et le firmware en prend davantage.
Une connexion réseau. La restauration du système récupère les tickets de signature en ligne.
Des paramètres de sécurité ajustés. Démarrez en mode Recovery macOS, exécutez ces commandes dans le Terminal, puis redémarrez :
csrutil enable --without debug
csrutil allow-research-guests enable
SIP reste activé, seules les restrictions de débogage sont assouplies. Pour plus de détails, voir Configuration de l'hôte.
vphone-launchpad-<version>-notarized.zip depuis la dernière version, décompressez-le et ouvrez-le. Toutes les versions ne sont pas notariées. Si la dernière n'a pas de fichier -notarized, choisissez une version notariée dans Téléchargements.Launchpad télécharge le firmware, le patche, restaure le système et démarre la VM. Pour utiliser votre propre iPhone et les IPSW cloudOS, voir Compatibilité.
Pour installer un gestionnaire de paquets dans la VM, voir Environnement de paquets.
Si vous utilisez un agent de codage (Claude Code, Codex ou similaire) sur ce Mac, collez le prompt ci-dessous au lieu de suivre les étapes manuellement. L'agent lit la compétence vphone, vérifie ce qui est déjà configuré, installe Launchpad et VPhone.bundle, et s'arrête pour demander lorsqu'une étape nécessite votre intervention, comme un mot de passe administrateur ou une modification dans 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.
Launchpad pilote les VM via le vphone-cli contenu dans VPhone.bundle. Vous pouvez également l'exécuter dans le Terminal :
vphone-cli vm list
vphone-cli vm launch myphone
vphone-cli vm export myphone --out myphone.tzst
Les VM sont stockées dans ~/.vphone/. Exécutez vphone-cli <group> --help pour voir toutes les commandes. Pour créer une VM sans Launchpad, voir Créer et exécuter.
Pour activer l'API d'automatisation, ajoutez --api-listen 127.0.0.1:8765 au lancement et utilisez le jeton qu'elle affiche. Voir la documentation de l'API.
| Document | Contenu |
|---|---|
| Téléchargements | Versions notariées de Launchpad et versions correspondantes de VPhone.bundle |
| Configuration de l'hôte | Paramètres SIP et AMFI, compilation depuis les sources, vérifications de l'environnement |
| Créer et exécuter | Sources de firmware, processus de création, stockage et sauvegardes |
| Compatibilité | Appairages de firmware vérifiés |
| Invités iPadOS | Exécuter iPadOS (iPad mini A17 Pro) au lieu d'iOS |
| Environnement de paquets | Installation et suppression d'un gestionnaire de paquets dans la VM |
| Dépannage | Erreurs courantes et comment les corriger |
| Réseau | Modes réseau, et tunnel pour un Mac derrière un VPN ou un proxy |
| Ligne de commande de Launchpad | Installer et tester une compilation locale avec vphone-launchpad-cli |
| Contribution | Structure du projet, compilation depuis les sources, notes de recherche |
Si cela ne résout pas votre problème, ouvrez un ticket.