Peut-on supprimer iOS DeviceSupport de Xcode sans risque ?
Équipe AskClean · Mis à jour 2026-11-02
Vous pouvez supprimer les dossiers DeviceSupport des versions d’OS que vous ne déboguez plus, mais gardez ceux qui correspondent à vos appareils physiques actuels. Xcode peut préparer de nouveau ce support quand un appareil de la même version se reconnecte : la suppression échange de l’espace disque contre une attente ultérieure, sans aucune perte de code source.

Ce que contient vraiment DeviceSupport
Pour déboguer un iPhone, un iPad, une Apple Watch ou un Mac physique, Xcode a besoin de données de support correspondant au build du système installé sur l’appareil. Sur un Mac qui a connu plusieurs versions de Xcode, vous trouverez des dossiers par version sous ~/Library/Developer/Xcode/iOS DeviceSupport, ainsi qu’un dossier voisin macOS DeviceSupport.
Ces fichiers aident Xcode à interpréter les frameworks et les symboles du système lorsqu’il attache le débogueur. Il ne s’agit ni du code source de votre app, ni d’appareils simulés, ni du dSYM d’une app que vous avez distribuée. Ces trois catégories n’ont pas le même coût de suppression : un nettoyage sûr commence par les distinguer.
Le dossier grossit chaque fois que vous branchez des appareils sous des versions ou des builds d’OS différents. Un développeur qui teste plusieurs téléphones au fil des cycles de publication peut garder des données de support pour des versions qui ne figurent plus dans son parc d’appareils actuel.
Trouver les dossiers et établir la liste à garder
Quittez Xcode et débranchez vos appareils avant d’examiner le dossier. Dans le Finder, appuyez sur Commande + Maj + G et saisissez ~/Library/Developer/Xcode. Repérez iOS DeviceSupport et macOS DeviceSupport : les dossiers présents dépendent des plateformes, des versions de Xcode et des appareils physiques utilisés sur ce Mac.
Passez le Finder en présentation par liste et calculez la taille des dossiers. Dans le Terminal, du -sh ~/Library/Developer/Xcode/*DeviceSupport* donne un résumé en lecture seule. Si le motif ne correspond à rien, le shell peut afficher une erreur : cela signifie simplement que le dossier correspondant n’existe pas.
Faites ensuite l’inventaire des appareils physiques que vous déboguez encore. Sur chaque appareil, consultez la version du logiciel dans Réglages > Général > Informations, ou connectez-le et examinez-le dans Window > Devices and Simulators de Xcode. Gardez les dossiers de support qui correspondent aux versions et builds d’OS de ce parc de test actif.
- Quittez Xcode et l’app Simulator, puis débranchez les appareils de test physiques.
- Ouvrez ~/Library/Developer/Xcode dans le Finder et mesurez chaque dossier DeviceSupport.
- Listez les versions d’OS installées sur chaque appareil physique que vous comptez déboguer.
- Gardez les versions correspondantes, ainsi que toute bêta ou cible de compatibilité dont votre équipe aura bientôt besoin.
- Placez dans la Corbeille uniquement les dossiers de versions obsolètes sans correspondance, et ne la videz pas avant d’avoir réussi votre prochaine session de débogage sur appareil.
Ce qui se passe après la suppression
Si vous reconnectez plus tard un appareil dont le dossier de support a été supprimé, Xcode peut afficher un message de préparation pendant qu’il restaure ou récupère le support nécessaire. Apple a documenté ce comportement dans une solution de contournement des notes de version de Xcode : après la suppression d’iOS DeviceSupport, la reconnexion de l’appareil amenait Xcode à recopier les symboles.
DeviceSupport se récupère donc dans la plupart des cas, mais le supprimer n’est pas anodin à n’importe quel moment. La régénération prend du temps, exige l’appareil et des outils compatibles, et peut interrompre un débogage alors que l’échéance approche. Gardez les versions de votre parc actuel au lieu de vider entièrement le dossier.
Pour un ancien build d’OS que vous ne pouvez plus reproduire ni reconnecter, mettez en balance le faible risque d’en avoir besoin et la place qu’il occupe. L’option prudente consiste à déplacer d’abord le dossier vers un stockage externe sauvegardé, puis à le remettre au même endroit si une enquête sur une ancienne version en dépend.
L’instruction documentée par Apple (supprimer puis reconnecter) était un contournement propre à une version précise de Xcode. Voyez-y la preuve que le support peut être préparé de nouveau, pas une recommandation d’effacer tous les dossiers DeviceSupport actuels.
Ne pas confondre ces quatre catégories de stockage Xcode
DeviceSupport concerne le débogage sur appareils physiques. Les runtimes de simulateur sont des images de plateforme installées via Xcode Settings > Components (Platforms dans Xcode 14 et 15), tandis que chaque appareil simulé et ses apps résident sous CoreSimulator. Supprimer DeviceSupport ne désinstalle aucun runtime de simulateur.
DerivedData contient les produits de build et les index des projets. Il se recrée à partir de votre code et constitue normalement la première catégorie Xcode à vider pour récupérer de l’espace sans risque. DeviceSupport est lui aussi récupérable dans bien des cas, mais seulement une fois que Xcode l’a préparé de nouveau pour l’appareil physique concerné.
Les archives sont la catégorie à coût élevé : un .xcarchive peut conserver le binaire exact de l’app et le dSYM correspondant d’un build distribué. Ne supprimez jamais une archive parce que son numéro de version ressemble à celui d’un dossier DeviceSupport obsolète : ces noms désignent des artefacts différents.
Quand DeviceSupport n’est pas le vrai problème d’espace
Un dossier Xcode volumineux ne prouve pas que DeviceSupport en est la principale cause. Mesurez séparément DerivedData, Archives, CoreSimulator, DocumentationCache et DeviceSupport. Vider un petit dossier de symboles en laissant installés des runtimes de simulateur inutilisés peut ne libérer que peu d’espace et vous imposer une préparation superflue.
Si le disque de démarrage est presque plein, commencez par libérer de la marge avec les candidats les moins risqués : Corbeille, Téléchargements, ancien DerivedData et appareils simulés indisponibles que vous avez passés en revue. Examinez ensuite DeviceSupport version par version, et gardez les archives pour un audit délibéré de conservation des publications.
Mesurez de nouveau après le nettoyage. Les réglages Stockage de macOS peuvent tarder à se mettre à jour, alors que la taille des dossiers dans le Finder ou du donnent une comparaison avant/après plus directe. Ne citez pas de nombre universel de gigaoctets : l’espace récupérable correspond à ce qu’occupent réellement vos dossiers de versions obsolètes.
Comment AskClean rend la distinction visible
AskClean mesure iOS DeviceSupport et macOS DeviceSupport comme deux éléments Xcode distincts et liste chaque version séparément : la version la plus récente de chaque modèle d’appareil reste décochée, les versions plus anciennes sont présélectionnées pour que vous les examiniez, et rien n’est supprimé avant votre confirmation. Il ne les fusionne pas avec DerivedData et ne présente pas les archives comme un cache équivalent.
L’analyse explique que DeviceSupport aura un coût de préparation ultérieur et demande votre confirmation avant toute suppression ; les suppressions confirmées sont définitives et ne passent pas par la Corbeille. Les archives reçoivent l’avertissement plus strict de coût irréversible. La décision devient visible, mais c’est votre parc actuel d’appareils de test qui a le dernier mot.
DeviceSupport n’est qu’une couche du stockage Xcode
Appuyez-vous sur l’emplacement et le coût de récupération pour ne pas supprimer le mauvais artefact.
| Catégorie | Emplacement habituel | Conséquence de la suppression |
|---|---|---|
| Support des appareils physiques | ~/Library/Developer/Xcode/iOS DeviceSupport | Xcode peut préparer de nouveau le support quand un appareil de la même version se reconnecte. |
| Données du simulateur | ~/Library/Developer/CoreSimulator | Supprimer un appareil retire ses apps installées et ses données de test. |
| DerivedData | ~/Library/Developer/Xcode/DerivedData | Les projets sont recompilés et réindexés à partir du code. |
| Archives et dSYM d’app | ~/Library/Developer/Xcode/Archives | La trace exacte d’un build distribué peut être perdue définitivement. |
FAQ
Peut-on supprimer iOS DeviceSupport sans risque ?
Les dossiers des versions d’OS que vous ne déboguez plus peuvent généralement être supprimés. Gardez ceux des appareils physiques que vous utilisez. Si une version supprimée redevient nécessaire, Xcode devra peut-être préparer ou recopier le support à la reconnexion de l’appareil.
DeviceSupport contient-il le dSYM de mon app ?
Non. Il sert au débogage de l’appareil physique et de son système ; il ne remplace pas le dSYM de l’app conservé avec un build distribué. Gardez l’archive ou le dSYM correspondant pour symboliser les plantages en production.
Supprimer DeviceSupport retire-t-il les runtimes de simulateur ?
Non. Les runtimes de simulateur et les données des appareils virtuels se gèrent séparément, via Xcode Settings > Components, simctl et le dossier CoreSimulator.
Pourquoi Xcode a-t-il recréé le dossier ?
Xcode a besoin du support correspondant au build d’OS de l’appareil physique connecté. Quand ce support manque, il peut le préparer ou le recopier : l’espace occupé revient donc si vous continuez à déboguer les mêmes versions.
Sources