127 votes

Puis-je supprimer les simulateurs de périphériques inutiles de Xcode ?

J'ai constaté que Xcode sur mon ordinateur portable consomme une grande partie de son stockage, j'essaie donc de supprimer les fichiers inutiles dans Xcode.

Il y a quatre répertoires sous Application/Xcode.app/Contents/Developer/Platforms/ . J'ai l'impression que WatchSimulator.platform y AppleTVSimulator.platform ne sont pas nécessaires, car j'utilise Xcode presque uniquement pour le développement iOS de base.

Je voudrais savoir si je peux supprimer ces répertoires de plates-formes directement ?

Directories

1 votes

Juste pour info... Vous n'allez gagner que la moitié de l'espace indiqué, car ils semblent être compressés. Regardez la feuille Get Info, par exemple sur mon système pour WatchOS.platform il montre 50 579 830 octets (28,2 Mo sur le disque) pour 2 212 éléments et AppleTVSimulator.platform montre 1 865 477 227 octets (1,1 Go sur le disque) pour 29 705 éléments. Vous n'allez donc pas gagner autant d'espace libre que les valeurs indiquées dans votre PO.

1 votes

Les fichiers sont compressés et le système de fichiers HFS+ d'Apples prend en charge la compression transparente, mais Finder et ls dans le Terminal ne dispose pas d'un drapeau pour voir si un fichier utilise hfsCompression sans la fiche d'information où l'on peut voir l'adresse de l'entreprise. sur le disque est radicalement différente de la taille indiquée en octets. Il existe un utilitaire écrit par une tierce partie, qui inclut le code source si l'on veut le compiler soi-même, afsctool . Parmi ses capacités, il est possible d'obtenir des informations sur le(s) fichier(s) compressé(s) HFS+ existant(s).

0 votes

Quel programme vous aide à déterminer ces gros fichiers sur votre disque ?

112voto

Kevin Peterson Points 4456

Oui, vous pouvez supprimer tout simulateur que vous n'utilisez pas. Je le fais régulièrement lorsque j'arrête de supporter les anciennes versions d'iOS.

Si vous les supprimez et que vous vous rendez compte que vous en avez besoin à un moment donné, vous pouvez les retélécharger depuis le site des développeurs d'Apple.

La meilleure façon de les supprimer est dans Xcode. Allez dans Window -> Devices and Simulators . Cela ouvrira une nouvelle fenêtre avec tous les périphériques que vous utilisez dans Xcode.

En haut, tapez sur Simulators et vous verrez une liste sur le côté gauche.

De là, trouvez le simulateur que vous voulez supprimer et Cntl - cliquez (ou cliquez à droite) et sélectionnez Delete .

Je fais cela avec chaque simulateur qui fonctionne dans chaque version d'iOS que je ne supporte plus.

Mise à jour juillet 2020 : Il y a un utilitaire gratuit dans le Mac App Store nommé DevCleaner pour Xcode . Cette application peut afficher et supprimer des simulateurs et divers caches. J'ai trouvé que c'était un moyen très rapide et facile de regagner de l'espace. Je ne suis pas le développeur ou associé à cette application de quelque manière que ce soit.

32 votes

Je sais que ce post date d'il y a quelques années, mais il ne semble pas que cela supprime le simulateur, mais plutôt le listing de celui-ci dans Xcode. Donc si quelqu'un avait besoin de le supprimer pour économiser de l'espace disque, ce n'est pas la bonne méthode.

0 votes

On peut supposer que Sean fait référence aux suppressions effectuées dans Xcode, et non avec DevCleaner... Je trouve que ~/Library/Developer/CoreSimulator/Devices/ contient 47GB (12 à 16GB sur le disque, par du et File Pane. Et je ne trouve pas DevCleaner utile - il ne sait rien à leur sujet. (Aucun de l'espace libre qu'il a dit qu'il libérerait n'a été libéré, mais j'ai compris que c'est à cause de la protection des données de Disk Drill et du fait que j'utilise df pour voir l'espace libre au lieu de Finder).

83voto

Francois Nadeau Points 869

Xcode partage désormais les simulateurs avec tous les utilisateurs. Ainsi, vous devez supprimer les simulateurs du dossier suivant :

/Library/Developer/CoreSimulator/Profiles/Runtimes

Par exemple :

cd /Library/Developer/CoreSimulator/Profiles/Runtimes
sudo rm -rf iOS\ 8.4.simruntime/
sudo rm -rf iOS\ 9.3.simruntime/

A la vôtre !

6 votes

Étrangement, il y a des runtimes 12.0 et 13.4 mais pas de runtimes 14.x. Où sont-ils allés dans xcode 12 ????

0 votes

Merci, ça marche plutôt bien pour moi :)

80voto

Black-Pixel Points 411

Vous pouvez facilement supprimer tous les simulateurs indisponibles avec cette commande dans le terminal :

xcrun simctl delete unavailable

3 votes

En réalité, cela ne fait pas grand-chose. Si vous exécutez xcrun simctl list vous verrez que seulement ~10% des appareils sont considérés comme "indisponibles". De plus, les appareils ne sont pas les vrais consommateurs d'espace ici, ce sont les runtimes iOS. La réponse de @Francois est bien meilleure en pratique.

3 votes

@joshuakcockrell Pas nécessairement ; après des années d'accumulation de versions de simulateurs obsolètes, cela a libéré une quantité ridicule d'espace dans mon cas. Je suppose donc que c'est à vous de voir.

2 votes

J'ai compté ( wc -l ) 148 lignes dans la liste avec 'indisponible' et 128 en dehors. La commande de suppression ci-dessus m'a rendu 14GB

32voto

joshuakcockrell Points 401

Où Xcode stocke les simulateurs en 2019+ Catalina, Xcode 11.0

Temps d'exécution

$ open /Library/Developer/CoreSimulator/Profiles/Runtimes

Par exemple : iOS 13.0 , watchOS 6.0 Ce sont ceux qui prennent le plus de place, et de loin. Chacun d'eux peut atteindre ~5GB

Dispositifs

$ open ~/Library/Developer/CoreSimulator/Devices

Par exemple : iPhone Xr , iPhone 11 Pro Max . Elles sont généralement inférieures à 15 mb chacune.

Explication

Les simulateurs sont répartis entre les runtimes et les dispositifs. Si vous exécutez $ xcrun simctl list vous pouvez voir un aperçu, mais si vous voulez trouver l'emplacement physique de ces simulateurs, regardez dans les répertoires que je vous ai montrés.

Il est tout à fait possible de supprimer les runtimes que vous ne supportez pas. Vous pourrez les réinstaller plus tard si vous le souhaitez.

2 votes

Merci, cela m'a beaucoup aidé !

0 votes

J'ai supprimé les dossiers Runtime pour les plateformes que je n'utilisais pas et maintenant Xcode ne s'ouvre plus.

0 votes

@Roberto Y a-t-il une erreur ou quelque chose que vous voyez ? Pouvez-vous expliquer ce qui se passe ? La suppression des fichiers "iOS 13.3.simruntime" est tout à fait correcte. Une simple réinstallation de Xcode serait probablement plus rapide que d'essayer de réparer une installation défectueuse.

24voto

kayue Points 827

Bien que la réponse de @fsb permette de supprimer les "instances" de simulateur, la bonne façon de libérer un espace massif utilisé par les anciennes plateformes de simulateur qui ne sont plus nécessaires est d'aller dans le dossier suivant :

~/Library/Developer/Xcode/iOS DeviceSupport

et supprimez les dossiers correspondant au simulateur/aux plates-formes dont vous n'avez plus besoin.

En outre, il y a un très bon article incluant ce point et d'autres conseils :

4 votes

Il semble que /Library/Developer/Xcode a été supprimé après la nouvelle mise à jour de MacOS. Je ne peux pas le trouver n'importe où.

2 votes

@Suhaib vous avez oublié le tilde initial " ~ "Ce qui fait que le chemin commence dans votre répertoire personnel. Le bon répertoire est : ~/Library/Developer/Xcode/iOS DeviceSupport .

2 votes

N'oubliez pas ~/Library/Developer/Xcode/watchOS DeviceSupport trop

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X