Tous les développeurs iOS, macOS, watchOS et visionOS partagent le même cauchemar récurrent : se réveiller avec une alerte indiquant qu'il reste moins de 5 Go d'espace disque sur votre Mac. Vous n'avez téléchargé aucun jeu ni film. Alors, où est passé votre SSD de 512 Go ? Dans 95 % des cas, le coupable est Xcode DerivedData et crée des caches.
Pendant la compilation active, Xcode génère des fichiers objets intermédiaires, des en-têtes précompilés, des tables de symboles d'indexation et des caches de modules du compilateur. Au fil des mois passés à créer différentes branches et dépendances, ces dossiers ne s’auto-élaguent jamais. Voici comment récupérer 50 Go à 100 Go d'espace disque pour les développeurs de manière propre et sûre.

Où Xcode cache ses caches disques lourds
Xcode distribue ses produits de build temporaires et ses fichiers de support dans cinq répertoires principaux :
- DerivedData (
~/Library/Developer/Xcode/DerivedData) : Fichiers objets intermédiaires, bases de données d'index et produits de build. Consomme entre 20 Go et 60 Go. - iOS DeviceSupport (
~/Library/Developer/Xcode/iOS DeviceSupport) : Symboles de chaque iPhone ou iPad physique que vous avez déjà branché. Consomme 5 Go à 15 Go par version iOS. - Archives (
~/Library/Developer/Xcode/Archives) : Anciennes versions .xcarchive enregistrées lors de la création des versions de production de l'App Store. Peut atteindre plus de 40 Go sur un an. - Cache du gestionnaire de packages Swift (
~/Library/Caches/org.swift.swiftpm) : Dépôts git clonés et binaires d'extraction compilés pour les dépendances SPM. - XCTestDevices (
~/Library/Developer/XCTestDevices) : Clones de simulateur temporaires orphelins créés lors d'exécutions de tests parallélisés.
Est-il sécuritaire de supprimer les données dérivées ?
Oui, absolument. DerivedData est 100 % régénérable. La prochaine fois que vous ouvrirez un projet et appuierez sur Cmd+B, Xcode réindexera votre code et compilera les fichiers objets nécessaires. Le seul coût est un temps de construction initial légèrement plus long lors de la première exécution.
Suppression manuelle via Terminal ou MagicMacCleaner
Vous pouvez supprimer DerivedData manuellement en quittant Xcode et en exécutant : rm -rf ~/Library/Developer/Xcode/DerivedData/*. Cependant, la suppression manuelle du terminal efface tous vos projets en même temps, même celui sur lequel vous travaillez actuellement.
Le module Xcode Deep Clean dédié de MagicMacCleaner résout ce problème en lisant la date de modification de chaque sous-dossier du projet. Il vous permet de conserver les projets actifs intacts tout en purgeant les clients dormants et les référentiels existants en un seul clic.
Flux de travail des développeurs mobiles : libérez de l'espace de stockage sur les iPhones de test physique
Bien que la suppression des caches Xcode, des environnements d'exécution du simulateur et des conteneurs de build libère de l'espace vital sur votre Mac, les appareils de test iOS physiques se bouchent rapidement avec des builds de test, des artefacts de crash, des enregistrements d'écran de diagnostic et des captures d'écran de contrôle qualité. Garder votre matériel de test physique léger est essentiel pour un débogage rapide sur l'appareil et un déploiement fiable.
- Clearly Smart Storage Cleaner : Compresse les enregistrements d'écran de rapport de bug de plusieurs gigaoctets, détecte les supports de test en double et organise les contacts encombrés sur les iPhones de développement et personnels.
- Swipe Photo Cleaner : Examinez et purgez rapidement des centaines de captures d'écran et de démos de tests d'interface utilisateur avec des gestes de balayage pour supprimer sans effort.
Astuce des développeurs de l'écosystème Apple : tester l'optimisation des appareils
Un stockage faible sur les appareils iOS connectés peut entraîner des délais d'attente de déploiement sans fil Xcode et des échecs de débogage LLDB. Un nettoyage régulier des médias sur l'appareil évite les erreurs de déploiement de build cryptiques.
