Xcode prend trop de place : DerivedData, simulateurs et archives

Publié le 8 min de lecture

Xcode ne pèse pas seulement le poids de l'app. Ses fichiers de compilation, ses simulateurs et ses archives s'empilent dans ta Bibliothèque. On mesure, puis on trie avec les outils d'Xcode lui-même, en gardant ce qu'Apple demande de garder.

Tu as installé Xcode pour un projet, et quelques mois plus tard ton disque est plein. L'app elle-même n'y est pour rien, ou presque. Ce qui grossit, ce sont les fichiers qu'Xcode fabrique autour : les résultats de compilation, les systèmes des simulateurs d'iPhone, les archives de tes versions publiées.

Tout ça vit dans un dossier caché de ta Bibliothèque. Certains éléments se jettent sans risque. D'autres, Apple te demande de les garder. On fait le tri dans l'ordre, du plus sûr au plus délicat.

1. Voir ce qui pèse vraiment

Les fichiers d'Xcode sont rangés dans le dossier Developer de ta Bibliothèque personnelle. Notre guide du dossier Bibliothèque explique ce qu'il y a autour et ce qu'il ne faut jamais toucher.

Pour y aller, ouvre le Finder, choisis Aller > Aller au dossier, et tape ~/Library/Developer. Le tilde désigne ton dossier personnel, comme le rappelle le guide macOS. Tu y trouves en général deux gros dossiers : Xcode et CoreSimulator.

Sélectionne chacun d'eux et appuie sur Commande + I. La fenêtre d'informations affiche la taille. Note les deux chiffres : ils te diront par où commencer.

Xcode a aussi son propre compteur. Dans Xcode > Réglages > Components, Apple indique que l'app montre les composants installés et la place que tu récupères si tu les retires. C'est l'endroit le plus fiable pour les simulateurs, on y revient à l'étape 3.

2. Vider DerivedData

DerivedData est le dossier où Xcode dépose tout ce qu'il produit en compilant : fichiers intermédiaires, index de ton code, apps construites. Il y a un sous-dossier par projet, avec un nom suivi d'une suite de lettres.

Où le trouver ? Par défaut, il est dans ~/Library/Developer/Xcode/DerivedData. Si tu as changé son emplacement, regarde dans Xcode > Réglages > Locations, à la ligne Derived Data. Une petite flèche à côté du chemin ouvre le dossier dans le Finder, comme l'expliquent des utilisateurs sur les forums développeurs d'Apple.

Pour le vider :

  1. Quitte Xcode.
  2. Ouvre le dossier DerivedData dans le Finder.
  3. Mets à la Corbeille les sous-dossiers des projets qui ne t'intéressent plus, ou tout le contenu si tu veux repartir de zéro.
  4. Vide la Corbeille : c'est ce geste qui rend la place.

Tes fichiers source ne sont pas là. Tu ne perds pas une ligne de code. La prochaine compilation du projet repart simplement de rien, donc elle est plus longue que d'habitude.

Bonne nouvelle si tu es sur Xcode 27 : un élément de menu « Delete Derived Data » fait maintenant ce travail. L'équipe Xcode en a parlé pendant une session de questions de la WWDC26, et manquer de place faisait partie des raisons citées pour s'en servir. Les mêmes ingénieurs ajoutent un point utile : supprimer DerivedData ne devrait jamais être nécessaire pour réparer une compilation. Si tu le fais pour ça, c'est un bug à leur signaler. Pour gagner de la place, en revanche, c'est un geste normal.

3. Retirer les runtimes de simulateurs que tu n'utilises plus

C'est souvent là que se cache le gros morceau. Un runtime, c'est le système d'exploitation que Simulator charge pour faire tourner un iPhone ou un iPad virtuel. Apple précise qu'un même runtime sert à plusieurs simulateurs : un iPhone et un iPad sous la même version d'iOS partagent le même.

Chaque version d'iOS, de watchOS ou de visionOS que tu as téléchargée a son runtime. Si tu ne testes plus ton app sur une vieille version, son runtime occupe de la place pour rien.

Dans Xcode, va dans Xcode > Réglages, puis Components. La section Other Installed Platforms liste tes runtimes. Clique sur le bouton d'information à côté de celui que tu veux retirer, puis sur Delete. Apple décrit cette méthode comme le moyen de récupérer leur espace de stockage. Selon ta version d'Xcode, le bouton peut être un signe moins en bas à gauche de la liste.

Un détail à connaître sur Xcode 27 : les notes de version signalent un problème connu. Certains runtimes ne sont pas complètement supprimés et réapparaissent après un redémarrage. Si ça t'arrive, recommence après le redémarrage, ou passe par le Terminal.

Le Terminal justement. Sur Xcode 27, l'aide de xcrun simctl runtime propose plusieurs filtres utiles. Commence toujours par l'option --dry-run, qui affiche ce qui serait supprimé sans rien toucher :

xcrun simctl runtime delete --unusable --dry-run

--unusable vise les runtimes marqués comme inutilisables. --notUsedSinceDays 90 vise ceux que tu n'as pas lancés depuis 90 jours, et tu peux changer le nombre. Quand la liste te convient, relance la même commande sans --dry-run.

4. Supprimer les simulateurs en trop

Les runtimes sont les systèmes. Les simulateurs sont les appareils virtuels créés avec, et chacun garde ses propres données : apps installées, photos, réglages. Un simulateur que tu as beaucoup utilisé finit par peser.

Dans les versions d'Xcode qui ont la fenêtre Window > Devices and Simulators, la méthode d'Apple est simple : choisis Simulators en haut de la barre latérale, fais un Control-clic sur l'appareil, puis Delete. Xcode 27 regroupe la gestion des appareils dans Device Hub.

Par le Terminal, ça marche avec toutes les versions. Pour voir tes simulateurs :

xcrun simctl list devices

Pour retirer ceux qui ne fonctionnent plus avec ton Xcode actuel, la commande xcrun simctl delete unavailable est expliquée dans notre article sur les données système du Mac. Et si tu veux garder un simulateur mais vider son contenu, xcrun simctl erase suivi de son identifiant efface son contenu et ses réglages, sans le supprimer.

5. Les archives : trier avec prudence

Chaque fois que tu choisis Product > Archive pour publier une version de ton app, Xcode crée une archive. Elle contient ton app compilée et les fichiers de symboles (les dSYM) qui permettent de lire un rapport de plantage.

Ici, Apple est très clair : tu dois garder l'archive de chaque version que tu distribues. Sans elle, tu risques de ne plus pouvoir comprendre un plantage signalé par un utilisateur.

Ce que tu peux trier, ce sont les archives qui ne sont jamais sorties de ton Mac : essais, versions abandonnées, doublons d'une même version. Pour les voir, ouvre Window > Organizer, puis Archives. Un Control-clic sur une archive et Show in Finder t'emmène au fichier, d'après la documentation d'Apple.

Tu veux garder les archives publiées sans qu'elles encombrent ton disque ? Copie-les sur un disque externe, vérifie la copie, puis seulement retire-les de ton Mac. Garde-les toujours quelque part.

6. DeviceSupport et les autres dossiers

En fouillant le dossier Xcode, tu croiseras peut-être des dossiers comme iOS DeviceSupport. On n'a trouvé aucune page d'Apple qui explique leur rôle ni ce qu'on peut y effacer. Plutôt que de te donner un conseil sans source, on préfère te dire franchement : on ne sait pas, et on ne te dit pas d'y toucher.

Même prudence pour le reste de ~/Library/Developer. Si un dossier n'est ni DerivedData, ni géré par les réglages d'Xcode, ni une archive, laisse-le en place.

7. Plusieurs Xcode installés ?

Beaucoup de développeurs gardent une version bêta à côté de la version stable. Apple le prévoit d'ailleurs : sa documentation montre comment choisir entre Xcode.app et Xcode-beta.app avec la commande xcode-select. Deux copies d'Xcode, c'est deux fois le poids de l'app.

Si tu n'utilises plus la bêta, ou une ancienne version gardée « au cas où », supprime-la comme n'importe quelle app. Notre guide pour désinstaller une application sur Mac détaille la méthode. Pense d'abord à retirer, dans ses réglages Components, les runtimes que la version restante n'utilise pas.

Ce que CleanMochi fait, et ne fait pas, avec Xcode

CleanMochi, c'est l'app que nous faisons pour les Mac. Dans son écran Nettoyage, une catégorie s'appelle Caches de développement. Elle regroupe ton dossier DerivedData et les caches des simulateurs (CoreSimulator/Caches), à côté des caches de npm et de Homebrew. L'app les explique en une phrase : « Copies laissées par les outils de code (npm, Homebrew, Xcode). Ils se retéléchargent si besoin. »

Cette catégorie n'apparaît que si ces dossiers existent, et elle n'est jamais cochée d'office. Tu vois ce qu'elle pèse et les dossiers concernés, puis tu décides. Si tu la coches, tout part d'un bloc et pour de bon : ces dossiers ne passent pas par la Corbeille, et le bouton « Annuler » ne les remet pas. Quitte Xcode avant, comme pour la méthode manuelle.

Le reste ne le concerne pas. CleanMochi ne supprime ni les simulateurs, ni les runtimes, ni les archives, ni DeviceSupport. Pour tout ça, les étapes 3 à 7 restent la bonne méthode.

À lire aussi

Questions fréquentes

Peut-on supprimer DerivedData sans risque ?

Oui, Xcode fermé. Ce dossier contient ce qu'Xcode produit en compilant, pas ton code source. La prochaine compilation repart de zéro et prend donc plus de temps.

Où se trouve le dossier DerivedData sur Mac ?

Par défaut dans ~/Library/Developer/Xcode/DerivedData. Si tu l'as déplacé, son chemin est indiqué dans Xcode > Réglages > Locations, avec une flèche qui l'ouvre dans le Finder.

Comment supprimer un vieux simulateur iOS ?

Retire son runtime dans Xcode > Réglages > Components, avec le bouton d'information puis Delete. Par le Terminal, xcrun simctl runtime delete avec --dry-run te montre d'abord ce qui partirait.

Faut-il garder les archives Xcode ?

Celles des versions que tu as distribuées, oui : Apple demande de les conserver pour pouvoir analyser les plantages. Tu peux les déplacer sur un disque externe. Les archives d'essai jamais publiées peuvent partir.

Pourquoi un runtime supprimé revient-il après un redémarrage ?

Les notes de version d'Xcode 27 citent ce problème connu : certains runtimes ne sont pas complètement supprimés. Recommence la suppression après le redémarrage, ou passe par la commande simctl.

Article rédigé par l'équipe de CleanMochi (AppsMochi, une marque de NORY LLC). Une erreur, un chemin qui a changé avec une nouvelle version de macOS ? Dis-le nous.