288 votes

Xcode Simulator : comment supprimer les anciens périphériques inutiles ?

Je cours Xcode 4.3.1 iOS-Simulator qui ne prend en charge que iOS 5.1 à l'origine.

J'ai besoin de tester mon code avec iOS 4.3, donc j'ai utilisé la fonction d'installation de Xcode pour l'installer comme décrit dans "Installation de Xcode avec le simulateur d'appareil iOS 4.3?"

Maintenant j'ai fini les tests mais je ne peux pas trouver de moyen de désinstaller les parties 4.3 ("Simulateur iPhone 4.3" et "Simulateur iPad 4.3"). Je veux réduire le fouillis dans le menu Scheme.

Personne sur la liste de diffusion Xcode d'Apple ne connaissait la réponse!

ÉDIT : notez que beaucoup de choses ont changé depuis Xcode 4.3, donc je suggère à quiconque lit ceci de regarder toutes les réponses. Les plus récentes comme celle de Steve Moser pourraient vous être plus utiles!

ÉDIT 10/2017: Posté sur Twitter par Julio Carrettoni

Si vous êtes un développeur iOS, exécutez ceci :
$ xcrun simctl delete unavailable
Cela supprime les anciens simulateurs que Xcode n'utilise plus. Pour moi c'était 6 Go Je ne l'ai pas essayé moi-même...

[Aussi, je viens de voir que Russ Bishop a mentionné ceci dans un commentaire ci-dessous déjà...]

245voto

tomi44g Points 576

Dans Xcode 6+, vous pouvez simplement aller dans Menu > Fenêtre > Appareils > Simulateurs et supprimer un simulateur dont vous n'avez pas besoin.

1 votes

La question était pertinente dans la version 4 et probablement 5. Comme vous pouvez le voir, cela était assez difficile. J'ai évité d'utiliser des simulateurs plus anciens depuis lors.

3 votes

C'est exact. Si vous souhaitez que les simulateurs soient "vraiment supprimés" ou que vous les réinstalliez dans Xcode -> Préférences -> Téléchargements, vous devez supprimer le runtime du simulateur comme indiqué ci-dessous stackoverflow.com/a/30206853/1344293

0 votes

Merci, c'est la manière la plus facile de gérer les simulateurs. au lieu de supprimer les simulateurs des dossiers xcode. Cela fonctionne pour moi :)

239voto

Pavel Kovalev Points 302

Mise à jour d'octobre 2020

Comme mentionné, vous pouvez utiliser xcrun pour faire quelques choses :

  • xcrun simctl list devices ou xcrun simctl list --json pour lister tous les simulateurs
  • xcrun simctl delete pour supprimer un appareil spécifique
  • xcrun simctl delete unavailable pour supprimer les anciens appareils pour les runtimes qui ne sont plus pris en charge

Plus de choses que vous pouvez faire avec xcrun (voir l'extrait de code)

- `xcrun simctl boot ` pour lancer (plusieurs) simulateurs
- `xcrun simctl io booted recordVideo — type=mp4 ./test.mp4` pour enregistrer une vidéo de simulateur
- `xcrun simctl io booted screenshot ./screen.png` pour faire une capture d'écran du simulateur
- `xcrun simctl openurl booted https://google.com` pour ouvrir une URL dans le simulateur
- `xcrun simctl addmedia booted ./test.mp4` pour télécharger un fichier photo ou vidéo (pour l'application Photos)
- `xcrun simctl get_app_container booted ` pour trouver le conteneur de l'application (où l'identifiant ressemble à *com.bundle.identifier*)
- `xcrun simctl help` pour explorer **davantage** de commandes

Réponse originale

Septembre 2017, Xcode 9

Runtimes

Vous les trouverez ici :

/Library/Developer/CoreSimulator/Profiles/Runtimes

enter image description here

Appareils

Pour supprimer des appareils, allez ici :

~/Library/Developer/CoreSimulator/Devices

Beaucoup plus facile de les supprimer en utilisant Xcode : Xcode->Window->Devices and Simulators enter image description here

Aider Xcode à "oublier" les runtimes et éviter de les réinstaller - supprimez le(s) fichier(s) .dmg ici :

~/Library/Caches/com.apple.dt.Xcode/Downloads

J'espère que cela aidera quelqu'un

15 votes

Veuillez ne pas supprimer les appareils du système de fichiers; utilisez xcrun simctl delete . Vous pouvez également exécuter xcrun simctl delete unavailable pour supprimer les anciens appareils pour les runtimes qui ne sont plus pris en charge.

1 votes

Je n'ai pas ~/Bibliothèque/Caches/com.apple.dt.Xcode/Téléchargements (pas de dossier Téléchargements dans ~/Bibliothèque/Caches/com.apple.dt.Xcode/), je me demande pourquoi

1 votes

Le chemin du dossier que vous avez répertorié n'existe pas, Xcode 9.4

184voto

childno.de Points 1245

Avez-vous essayé de simplement supprimer le SDK 4.3 depuis le Package Xcode ?

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs

Veuillez également supprimer le fichier .dmg correspondant dans

~/Library/Caches/com.apple.dt.Xcode/Downloads

pour empêcher Xcode de réinstaller le même package à nouveau.


Pour XCode >= 6 voir la réponse de @praveen-matanam

3 votes

Vous êtes un génie! Merci beaucoup! Je ne peux pas croire que personne sur la liste de diffusion Xcode ne connaissait cela. J'ai regardé à plusieurs endroits mais pas là où vous aviez suggéré.

0 votes

Cela ne fonctionnera pas dans xcode 4.5.2. Dès que vous recommencez le compilateur, il vous demandera d'installer à nouveau d'anciens périphériques obsolètes. Annuler sera quitter xcode donc vous êtes obligé de réinstaller.

0 votes

C'est exact, Alejandro, il semble qu'Apple ait modifié la "chose de licence" de sorte que vous ayez toujours besoin d'un compte de développeur valide et que vous deviez réinstaller toutes les extensions encore et encore à chaque mise à jour majeure dans l'application.. les systèmes hérités ne sont pas non plus pris en charge ;(

169voto

Praveen M Points 175

Dans Xcode 6 et plus, vous pouvez trouver et supprimer les simulateurs depuis le chemin /Library/Developer/CoreSimulator/Profiles/Runtimes. Redémarrez Xcode pour que cela prenne effet (peut ne pas être nécessaire).

0 votes

6.4 ici. J'ai dû redémarrer ma machine pour que cela prenne effet.

2 votes

7.2 - aucun redémarrage requis

0 votes

Xcode 8.0 a nécessité un redémarrage pour effacer les simulateurs invalides dans la fenêtre des appareils

92voto

Steve Moser Points 1449

Exécutez cette commande dans le terminal pour supprimer les simulateurs qui ne peuvent pas être accessibles depuis la version actuelle de Xcode (8+?) en cours d'utilisation sur votre machine.

xcrun simctl delete unavailable

Aussi si vous cherchez à récupérer de l'espace lié au simulateur, Michael Tsai a constaté que la suppression des journaux de simulation lui a fait gagner 30 Go.

~/Library/Logs/CoreSimulator

2 votes

Merci! Évidemment, la question originale était pour Xcode 4 donc les choses ont beaucoup changé depuis!

2 votes

Cela libère presque 20Go pour moi. Merci

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X