Xcode prend trop de place : que peut-on supprimer ?

Mis à jour le · 4 min de lecture

Où Xcode occupe-t-il de l’espace ?

L’essentiel ne se trouve pas dans Xcode.app lui-même, mais dans ~/Library/Developer. C’est là que s’accumulent données de build, symboles d’appareils, simulateurs et archives, qui grossissent avec chaque projet et chaque version d’iOS.

  • ~/Library/Developer/Xcode/DerivedData – produits de build intermédiaires et index.
  • ~/Library/Developer/Xcode/iOS DeviceSupport – symboles pour chaque version d’iOS connectée.
  • ~/Library/Developer/Xcode/Archives – vos builds archivés, fichiers dSYM compris.
  • ~/Library/Developer/CoreSimulator/Devices – appareils de simulation et leurs données.
  • ~/Library/Developer/CoreSimulator/Caches – caches du simulateur.

Que peut-on supprimer sans risque ?

Les données suivantes sont régénérables : Xcode les recrée en cas de besoin. Quittez d’abord Xcode pour qu’aucun fichier ne soit en cours d’utilisation.

  • DerivedData : supprimable entièrement ; le build et l’indexation suivants prendront simplement plus de temps.
  • iOS DeviceSupport : dossiers d’anciennes versions d’iOS sur lesquelles vous ne testez plus ; ils sont téléchargés à nouveau quand un appareil est connecté.
  • Caches de CoreSimulator : recréés en cas de besoin.
  • Simulateurs indisponibles : xcrun simctl delete unavailable supprime les appareils dont le runtime n’est plus installé.

Que faut-il conserver ?

Les Archives contiennent les fichiers dSYM de vos builds publiés. Sans eux, les rapports de plantage de ces versions ne peuvent plus être symbolisés – conservez donc au moins les archives de toutes les versions encore entre les mains des utilisateurs, et supprimez les autres via Window › Organizer dans Xcode.

Ne supprimez pas non plus à l’aveugle les appareils de simulation dont vous utilisez encore les données de test, ni les runtimes des plateformes que vous ciblez. Et ne supprimez rien dans ~/Library en dehors des dossiers cités ici.

Comment supprimer les runtimes de simulateur ?

Les runtimes de simulateur pèsent souvent plusieurs gigaoctets chacun. Gérez-les dans Xcode › Réglages › Plateformes (Settings › Platforms ; Preferences › Components dans les anciennes versions d’Xcode) : sélectionnez un runtime et supprimez-le avec le bouton moins.

Dans Terminal, xcrun simctl runtime list affiche les runtimes installés. Pour supprimer des appareils de simulation précis, utilisez Window › Devices and Simulators dans Xcode.

Quels caches de paquets grossissent en parallèle d’Xcode ?

Les gestionnaires de paquets conservent leurs propres caches, que vous pouvez vider sans risque – ils se remplissent de nouveau au téléchargement suivant.

  • Homebrew : brew cleanup supprime les anciennes versions et les téléchargements obsolètes.
  • CocoaPods : pod cache clean --all vide le cache des pods.
  • Swift Package Manager : le cache se trouve dans ~/Library/Caches/org.swift.swiftpm ; les paquets sont téléchargés à nouveau si nécessaire.

Libérer l’espace occupé par Xcode sans risque

  1. Quitter Xcode

    Quittez Xcode et Simulator pour qu’aucun fichier ne soit en cours d’utilisation.

  2. Supprimer DerivedData

    Dans le Finder, choisissez Aller › Aller au dossier, saisissez ~/Library/Developer/Xcode/DerivedData et placez son contenu dans la Corbeille.

  3. Supprimer les anciens dossiers DeviceSupport

    Ouvrez ~/Library/Developer/Xcode/iOS DeviceSupport et supprimez les dossiers des versions d’iOS sur lesquelles vous ne testez plus.

  4. Supprimer les simulateurs indisponibles

    Exécutez xcrun simctl delete unavailable dans Terminal.

  5. Supprimer les runtimes inutilisés

    Dans Xcode › Réglages › Plateformes, supprimez les runtimes de simulateur dont vous n’avez plus besoin.

  6. Faire le point sur vos archives

    Ouvrez Window › Organizer et ne supprimez que les archives des versions qui ne sont plus utilisées.

  7. Vider les caches de paquets

    Exécutez brew cleanup et pod cache clean --all si vous utilisez ces outils.

Questions fréquentes

Peut-on supprimer DerivedData sans risque ?

Oui. Xcode recrée DerivedData au build suivant ; le premier build et l’indexation prendront un peu plus de temps. Quittez d’abord Xcode pour qu’aucun fichier ne soit en cours d’utilisation.

Que se passe-t-il si je supprime iOS DeviceSupport ?

À la prochaine connexion d’un appareil, Xcode télécharge à nouveau les symboles correspondants, ce qui peut prendre quelques minutes. Supprimez donc de préférence les dossiers d’anciennes versions d’iOS que vous n’utilisez plus.

Puis-je supprimer entièrement ~/Library/Developer ?

Non. Ce dossier contient aussi des archives avec des fichiers dSYM, des appareils de simulation avec des données de test et des données d’autres outils de développement. Ne supprimez que les dossiers régénérables.

Combien d’espace cela libère-t-il ?

Cela dépend fortement du nombre de vos projets, versions d’iOS et simulateurs. Vérifiez d’abord avec du -sh ~/Library/Developer/* ou une carte du disque quels dossiers sont les plus gros sur votre Mac.