Existe-t-il un moyen plus rapide / meilleur pour vider le cache de l'iPhone Simulator que de supprimer son répertoire?


95

Je suis donc encore relativement nouveau dans le développement iOS et je me retrouve assez régulièrement dans le besoin de supprimer DerivedData, ou le contenu du répertoire iPhone Simulator, pour que les choses s'exécutent réellement à partir de mon code. Nettoyer dans Xcode ne fait pas la même chose que vider ces répertoires, non? Et sinon, y a-t-il un moyen plus simple de le faire que de trimballer Finder pour les atteindre et de les effacer?


Il y a 3 ans peut-être que ce n'était pas une option, mais vérifiez ma réponse, cela fonctionne pour moi!
Adrian Florescu

Réponses:


125

66:99 et escalade:

Oui , il existe un meilleur moyen que d'entrer dans chaque simulateur de la ville et de réinitialiser les contenus et les paramètres un à la fois. Aussi bien mieux que de regarder dans le répertoire de votre simulateur et le cache de l' accroche alors sous ses pieds.

Quittez iPhone Simulator, puis exécutez xcrundans Terminal:

xcrun simctl erase all

Sûr et efficace.

Voir https://stackoverflow.com/a/26394597/218152 pour un seul appareil

xcrun simctl erase [ID de l'appareil]


Cela efface-t-il les simulateurs eux-mêmes? Pour que j'aie besoin de les rajouter dans l'écran des appareils de Xcode par la suite?
Luc

1
Juste le contenu. Depuis la documentation ( xcrun simctl help), effacer : efface le contenu et les paramètres d'un appareil. , à ne pas confondre avec supprimer : supprime un appareil ou tous les appareils indisponibles.
SwiftArchitect

Impressionnant. Tenté de changer ma bonne réponse à la lumière de ceci :)
Luc

@lukech: Très apprécié. Je suis tombé sur cette solution en essayant d'économiser de la mémoire sur mon disque dur et je cherchais une clean build folderapproche. Et des accessoires pour garder cette question active.
SwiftArchitect

cette commande prend une éternité à exécuter, comment sélectionner la cible sim avec uuid?
the_prole

104

Dans le menu du simulateur iOS , il existe une option appelée Réinitialiser le contenu et les paramètres ...

Cela devrait faire l'affaire.

ÉDITER:

Pour rendre cela beaucoup plus rapide et plus facile, j'ai ajouté une touche de raccourci comme celle-ci ...

Dans les Préférences Système, choisissez Clavier

Préférences système du clavier

Ensuite, choisissez l' onglet Raccourcis . Et cliquez sur Raccourcis d'application

Raccourcis d'application Cliquez sur le bouton plus pour ajouter un autre raccourci.

entrez la description de l'image ici Enfin:

  1. Cliquez sur Choisir le simulateur dans la liste déroulante Application :. Si ce n'est pas là, faites défiler vers le bas de la liste des applications et choisissez "Autre ...". Tapez ensuite "simulator" dans la recherche et ajoutez le simulateur à partir de là.
  2. Tapez Effacer tout le contenu et les paramètres ... dans la zone de texte Titre du menu:.
  3. Entrez votre clé de raccourci préféré dans le raccourci clavier: . (J'utilise la période de commande)
  4. Cliquez sur le bouton Ajouter .

entrez la description de l'image ici

Maintenant, dans votre simulateur iOS, vous pouvez simplement utiliser votre nouvelle touche de raccourci pour réinitialiser.


Si le simulateur n'apparaît pas dans la liste déroulante:

  1. Dans une fenêtre du Finder, accédez à votre dossier Applications.
  2. Cliquez avec le bouton droit sur Xcode et choisissez «Afficher le contenu du paquet».
  3. Aller vers Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/
  4. Vous verrez iPhone Simulator.app.
  5. Maintenant, dans l'application Paramètres, au lieu de choisir le simulateur iOS qui manque, vous choisissez Autre ....
  6. Cela provoquera l'apparition d'une fenêtre contenant une liste d'applications.
  7. Maintenant, faites glisser iPhone Simulator.app de votre fenêtre Finder vers la fenêtre qui est apparue lorsque vous avez cliqué sur Autre ....

Le simulateur iOS n'apparaît plus dans la liste déroulante Application. Dois-je simplement choisir "xCode.app"? Je suis sous OS 10.8.3 avec iOS Simulator 6.0.
potench

8
Dans une fenêtre de recherche, accédez à votre dossier Applications. Option-cliquez sur Xcode et choisissez "Afficher le contenu du paquet". Accédez au Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/dossier. Vous verrez iPhone Simulator.app. Maintenant, dans l'application Paramètres, au lieu de choisir iOS Simulatorce qui manque, vous choisissez Other.... Cela provoquera l'apparition d'une fenêtre contenant une liste d'applications. Maintenant, faites glisser iPhone Simulator.appde votre fenêtre Finder vers la fenêtre qui est apparue lorsque vous avez cliqué Other....
Jeff Wolski

1
Je suis venu ici pour chercher autre chose, mais je suis passé par vos étapes simplement parce que votre réponse était si bonne. Merci!
kodybrown

1
Reset Content and Settingsn'effacera pas les actifs côté client sur un VPN. J'ai eu du mal à cela pendant un moment en me demandant pourquoi mes animations CSS fonctionnaient partout, sauf le simulateur, pour découvrir qu'il mettait en cache d'anciens fichiers même lorsque j'avais supprimé du contenu et des paramètres. La seule chose qui a fini par fonctionner pour moi a été de me déconnecter de mon VPN et de redémarrer ma VM puis de me reconnecter (le framework que j'utilise verse tous mes actifs pour moi) - vous pouvez également les versionner manuellement si vous testez simplement des choses, mais c'est ennuyeux. C'est quelque chose qu'Apple devrait corriger; cela ne se produit que lorsque je teste iOS pour moi.
Benny

3
Si vous ne trouvez pas le simulateur sur le chemin Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/indiqué par @JeffWolski, vous pouvez le rechercher par le terme de recherchesimulator.app
atulkhatri

9

Pour le développement Web et les tests sur le simulateur iOS (Safari):

  1. Avec le simulateur iOS et Safari ouverts, accédez à Safari> Développer> Simulateur iOS et sélectionnez votre page qui vous donnera accès aux outils de l'inspecteur Web.

  2. Allez dans Safari> Développer> Vider les caches pour vider le cache sur iOS Safari.


@AdrianFlorescu c'est une solution pour déboguer le développement Web sur iOS Safari, mais je pense que la question concernait le développement d'applications iOS.
Ryan

4
Ne fonctionne pas sur Safari 9.0.3 avec le débogueur distant. "Désactiver les caches" n'a aucun effet non plus.
Gamadril

1
Ce paramètre ne fait rien pour moi (ne
vide

Ouais. On dirait que cela ne nettoie plus le cache iOS. Je suppose que c'était le cas dans le passé ...
Yosh

1
c'est la seule solution qui semble fonctionner stackoverflow.com/a/51421939/1055015
Exlord
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.