AskCleanAskClean

Stockage du simulateur Xcode : runtimes et données des appareils

Équipe AskClean · Mis à jour 2026-09-29

Commencez par inventorier les runtimes et les données de chaque simulateur. Supprimez uniquement les éléments devenus inutiles avec Xcode ou simctl. Le runtime peut être partagé, mais chaque appareil conserve ses applications et ses tests. Sauvegardez les états nécessaires et ne supprimez pas tout CoreSimulator.

Illustration conceptuelle d’un runtime partagé relié à des données d’appareils distinctes
Un runtime peut servir plusieurs appareils, chacun conservant ses applications et ses tests. Illustration conceptuelle, pas une capture d’écran.

Séparer runtimes et données locales

Un runtime est une image du système partagée ; chaque appareil possède ses applications, documents, caches et états de test. Consultez xcrun simctl list devices. Le script en lecture seule ci-dessous mesure des dossiers de développement courants et affiche l’état des simulateurs, sans suppression ni demande de droits administrateur. Lisez-le avant exécution. Il ne couvre pas tous les emplacements système des runtimes : consultez aussi les composants de Xcode.

Les noms de menus sont conservés en anglais. Leur affichage peut varier selon la langue de l’interface et la version.

Vérifier toute la sélection

xcrun simctl delete unavailable supprime tous les appareils marqués unavailable et leurs données locales. Utilisez-le uniquement si toute la liste peut disparaître. Un Xcode compatible ou la réinstallation du runtime peut rendre un appareil à nouveau accessible. Exportez d’abord ce qui compte ; si un état ne peut être sauvegardé ni recréé, gardez l’appareil.

Les appareils disponibles se retirent individuellement dans le gestionnaire de simulateurs, parfois sous Window > Devices and Simulators > Simulators. Effacer le contenu et les réglages conserve l’appareil ; le supprimer retire aussi son enregistrement. Dans les deux cas, les données perdues ne passent pas par la corbeille.

Gérer les runtimes depuis Xcode

Ouvrez Xcode Settings > Components, appelé Platforms dans certaines anciennes versions. Gardez les systèmes nécessaires aux tests et à la reproduction des problèmes utilisateurs. Passez par ce gestionnaire ; ne retirez pas manuellement des fichiers de runtime, tout ~/Library/Developer/CoreSimulator ou des caches inconnus.

Vérifier l’espace et le fonctionnement

Notez la taille des dossiers et l’espace disponible, traitez une catégorie puis refaites la même mesure. Le script met en forme les valeurs de du ; elles ne mesurent pas exactement l’augmentation d’espace libre. Vérifiez aussi la liste des runtimes. Démarrez un appareil pour chaque runtime conservé et testez une application représentative ainsi que l’état à préserver. Réinstaller un runtime ne restaure pas les données d’un appareil supprimé.

Conserver séparément Archives et dSYM

Les Archives peuvent contenir des versions distribuées et des dSYM utiles à l’analyse des plantages, à un nouvel export ou à une nouvelle signature. Gardez les éléments des versions encore prises en charge et vérifiez une sauvegarde utilisable avant de retirer une copie locale via Organizer. Aucun appareil ni runtime réel n’a été supprimé pour cette révision ; aucun gain fixe n’est promis.

À vérifier avant toute suppression

Vérifiez l’emplacement réel, l’usage et la possibilité de restauration. Ce tableau n’est pas une liste de suppression automatique et ne garantit aucun volume libéré.

ÉlémentOù vérifierConséquences et précautions
Appareils indisponiblesxcrun simctl list devicesApplications et états de test disparaissent. Vérifiez toute la liste.
Appareils disponiblesXcode > Devices and SimulatorsSuppression des données de l’appareil choisi ; exportez le nécessaire avant.
RuntimesXcode Settings > ComponentsRetire l’image système. La réinstaller ne restaure pas les données locales.
Caches CoreSimulator~/Library/Developer/CoreSimulator/CachesMesurez leur occupation ; la suppression manuelle n’a pas été validée ici.

FAQ

Puis-je supprimer les appareils unavailable sans risque ?

Examinez d’abord toute la liste. La commande supprime chaque appareil concerné et ses données sans corbeille. Un runtime absent ne signifie pas que les données sont inutiles.

Pourquoi l’occupation reste-t-elle élevée ?

Les runtimes installés et les appareils disponibles restent présents. Examinez-les séparément. DerivedData contient d’autres sorties de compilation ; sa suppression ne retire pas les runtimes.

Sources