web-dev-qa-db-fra.com

Xcode Simulator: comment supprimer les anciens appareils inutiles?

J'utilise Xcode 4.3.1 iOS-Simulator qui, à l'origine, ne prend en charge que iOS 5.1.

Je dois tester mon code avec iOS 4.3. J'ai donc utilisé la fonction "Installer" de Xcode pour l'installer comme décrit dans la section "Installation de Xcode avec un simulateur d'appareil iOS 4.3?"

Maintenant que j'en ai terminé avec les tests, je ne parviens pas à désinstaller les parties 4.3 ("iPhone 4.3 Simulator" et "iPad 4.3 Simulator"). Je veux réduire l'encombrement dans le menu Scheme.

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

EDIT: notez que beaucoup de choses ont changé depuis Xcode 4.3, alors suggérez à tous ceux qui liront ce regard de regarder toutes les réponses. Les plus récents tels que Steve Moser peuvent vous être plus utiles!

EDIT 10/2017: Publié sur Twitter par Julio Carrettoni

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

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

193
David H

Avez-vous essayé de supprimer le SDK 4.3 à partir du 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/Téléchargements

to empêcher la ré-installation de Xcode le même paquet à nouveau.


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

162
childno͡.de

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

197
tomi44g

Dans Xcode 6 et supérieur, vous pouvez rechercher et supprimer les simulateurs du chemin /Library/Developer/CoreSimulator/Profiles/Runtimes. Redémarrez Xcode pour prendre effet (peut ne pas être nécessaire).

144
Praveen Matanam

Mise à jour d'octobre 2018

Comme mentionné précédemment, 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 <device udid> pour supprimer un périphérique spécifique
  • xcrun simctl delete unavailable pour supprimer les anciens périphériques des exécutions qui ne sont plus supportées

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

- `xcrun simctl boot <device udid>` to launch (multiple) simulators
- `xcrun simctl io booted recordVideo — type=mp4 ./test.mp4` to record simulator video
- `xcrun simctl io booted screenshot ./screen.png` to make screenshot of simulator
- `xcrun simctl openurl booted https://google.com` to open URL in simulator
- `xcrun simctl addmedia booted ./test.mp4` to upload photo or video file (for photos app)
- `xcrun simctl get_app_container booted <your apps bundle identifier>` to find the app container (where identifier is like *com.bundle.identifier*)
- `xcrun simctl help` to explore **more** commands

Réponse originale

Septembre 2017, Xcode 9

Runtimes

Tu les trouveras ici:

/Library/Developer/CoreSimulator/Profiles/Runtimes

enter image description here

Dispositifs

Pour supprimer des appareils, allez ici:

~/Library/Developer/CoreSimulator/Devices

Il est beaucoup plus facile de les supprimer, utilisez Xcode: Xcode-> Fenêtre-> Appareils et simulateurs enter image description here

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

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

J'espère que ça va aider quelqu'un ????

91
Pavel Kovalev

Exécutez cette commande dans Terminal pour supprimer les simulateurs inaccessibles à partir de la version actuelle de Xcode (8+?) Utilisée sur votre ordinateur.

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 la simulation lui permettait de gagner 30 Go.

~/Library/Logs/CoreSimulator
72
Steve Moser

Xcode 4.6 vous invitera à réinstaller toute ancienne version du simulateur iOS si vous supprimez simplement le SDK. Pour éviter cela, vous devez également supprimer le cache Xcode. Ensuite, vous ne serez pas obligé de réinstaller l'ancien SDK au lancement.

Pour supprimer le simulateur iOS 5.0, supprimez-les, puis redémarrez Xcode:

  1. /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/PhoneSimulator5.0.sdk
  2. ~/Library/Caches/com.Apple.dt.Xcode

Par exemple, après une nouvelle installation de Xcode, j'ai installé le simulateur iOS 5.0 à partir des préférences de Xcode. Plus tard, j'ai décidé que la version 5.1 suffisait, mais je ne pouvais pas supprimer la version 5.0. Xcode m'a obligé à le réinstaller au lancement. Après avoir supprimé à la fois le fichier cache et le SDK, il n’est plus demandé.

26
Dan Reese

J'ai eu le même problème. Je manquais d'espace. La suppression d'anciens simulateurs de périphériques n'a pas aidé.

Mon problème d'espace a été causé par xCode. Il avait conservé toutes les versions iOS depuis que j'avais installé xCode.

Supprimez la version iOS que vous ne voulez pas et libérez de l'espace disque.J'ai économisé plus de 50 Go.

enter image description hereNOTE -> Si vous avez plusieurs utilisateurs sur une même machine MacOS, assurez-vous de trouver le répertoire UNIQUEMENT avec le compte d'utilisateur à l'origine. xCode installé.

15
rustyMagnet

après quelques réponses ici, supprimer des simulateurs de mon xcode Menu> Fenêtre> Appareils> Les simulateurs n’a rien fait pour aider mon espace disque en train de mourir: enter image description here

cependant, en allant à /Users/abdullah/Library/Developer/Xcode/iOS DeviceSupport et en exécutant du -sh *, j'ai eu tous ces types:

2.9G    10.0.1 (14A403)
1.3G    10.1.1 (14B100)
2.9G    10.3.2 (14F89)
1.3G    10.3.3 (14G60)
1.9G    11.0.1 (15A402)
1.9G    11.0.3 (15A432)
2.0G    11.1.2 (15B202)
2.0G    11.2 (15C114)
2.0G    11.2.1 (15C153)
2.0G    11.2.2 (15C202)
2.0G    11.2.6 (15D100)
2.0G    11.4 (15F79)
2.0G    11.4.1 (15G77)
2.3G    12.0 (16A366)
2.3G    12.0.1 (16A404)
2.3G    12.1 (16B92)

Tous ensemble, c'est 33 Go!

Un bain de sang s'ensuit

voir plus de détails ici

6
abbood

En plus de @ childno.de answer, votre répertoire Mac

/private/var/db/receipts/

peut encore contenir des fichiers iPhoneSimulatorSDK _ obsolètes .bom et .plist comme ceci:

/private/var/db/receipts/com.Apple.pkg.iPhoneSimulatorSDK8_4.bom/private/var/db/receipts/com.Apple.pkg.iPhoneSimulatorSDK8_4.plist

Cela pourrait faire en sorte que l'onglet Téléchargements des préférences de Xcode affiche une coche () pour cette version de simulateur obsolète.

Pour purger les simulateurs indésirables, vous pouvez effectuer une recherche à l'aide de cette commande bash depuis votre terminal Mac:

Sudo find / -name "*PhoneSimulator*"

Ensuite, allez dans les répertoires correspondants pour supprimer manuellement les SimulatorSDK indésirables.

6
Raymond

Dans XCode, ouvrez Window - Devices, puis sélectionnez et supprimez les simulateurs obsolètes.

4
catanore

J'ai essayé toutes les réponses. Aucun d'entre eux n'a fonctionné pour moi.

Ce qui a fonctionné pour moi sur Sierra + Xcode 8.2 était de:

/Library/Developer/CoreSimulator/Devices et en supprimant tous les périphériques.

(Peut-être que cela ne fonctionnera pas pour vous, peut-être que ceci est une solution autonome, ou peut-être devez-vous le faire en plus d'autres réponses, mais j'ai fait toutes les solutions ici et donc pas sûr de ce que l'acte a fait). Sachez simplement que certaines des réponses ici sont anciennes et que l'emplacement du simulateur a changé. Réponse de Snowcrash semble être le plus récent.

3
Honey

Une autre chose que vous pouvez faire est de changer la cible de déploiement à la valeur la plus élevée. Cela empêchera le menu Schéma d'afficher des versions plus anciennes.

Pour ce faire, accédez à: Cible-> Résumé, puis modifiez la cible de déploiement.

3
werdsackjon

Le problème avec ces réponses est que, à chaque mise à jour de Xcode, les menus et les emplacements changent.

Allez simplement à /Applications/Xcode.app/Contents/Developer/Platforms et supprimez ce dont vous n’avez pas besoin. Xcode va bien commencer. Si vous êtes tous concernés, vous pouvez simplement restaurer depuis la corbeille.

2
Snowcrash

J'ai écrit un script bash d'une ligne qui supprimerait TOUS vos simulateurs:

xcrun simctl list devices | grep -E -o -i "([0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12})" | xargs -L1 xcrun simctl delete
  • xcrun simctl list devices listera tous les simulateurs installés sur votre machine
  • grep -E -o -i "([0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12})" récupérera l'UUID du périphérique
  • xargs -L1 xcrun simctl delete tentera de supprimer le périphérique pour chaque UUID trouvé

Si vous voulez voir tout ce qu'il va exécuter, vous pouvez ajouter echo avant xcrun, c'est-à-dire.

xcrun simctl list devices | grep -E -o -i "([0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12})" | xargs -L1 echo xcrun simctl delete
2
Toland Hon