¿Existe una forma mejor o más rápida de borrar la caché del simulador de iPhone que eliminar su directorio?

95

Así que todavía soy razonablemente nuevo en el desarrollo de iOS y me encuentro con la necesidad de eliminar con bastante frecuencia DerivedData, o el contenido del directorio del Simulador de iPhone, para que las cosas se ejecuten realmente desde mi código. Limpiar en Xcode no hace lo mismo que vaciar esos directorios, ¿verdad? Y si no es así, ¿hay una manera más fácil de hacerlo que cargar con Finder para llegar a ellos y limpiarlos?

Luke
fuente
Hace 3 años, tal vez esta no era una opción, pero revisa mi respuesta, ¡funciona para mí!
Adrian Florescu

Respuestas:

124

66:99 y escalada:

, hay una mejor manera que ir a todos los simuladores de la ciudad y restablecer los contenidos y la configuración uno a la vez. También es mucho mejor que buscar en el directorio de su simulador y sacar el caché de debajo de sus pies.

Salga de iPhone Simulator, luego ejecútelo xcrunen la Terminal:

xcrun simctl erase all

Seguro y eficaz.

Consulte https://stackoverflow.com/a/26394597/218152 para un solo dispositivo

xcrun simctl erase [ID de dispositivo]

SwiftArquitecto
fuente
¿Sin embargo, esto borra los simuladores? ¿Entonces tendría que volver a agregarlos en la pantalla de dispositivos de Xcode después?
Lucas
1
Solo el contenido. Desde la documentación ( xcrun simctl help), borrar : borra el contenido y la configuración de un dispositivo. , que no debe confundirse con eliminar : elimina un dispositivo o todos los dispositivos no disponibles.
SwiftArchitect
Increíble. Tentado a cambiar mi respuesta correcta a la luz de esto :)
Lucas
@lukech: Muy apreciado. Me encontré con esta solución mientras intentaba ahorrar memoria en mi disco duro y estaba buscando un clean build folderenfoque. Y te felicito por mantener activa esta pregunta.
SwiftArchitect
este comando tarda una eternidad en ejecutarse, ¿cómo seleccionar la SIM de destino con uuid?
the_prole
104

En el menú del simulador de iOS , hay una opción llamada Restablecer contenido y configuración ...

Esto debería funcionar.

EDITAR:

Para hacer esto mucho más rápido y fácil, agregué una tecla de acceso directo como esta ...

En Preferencias del sistema, elija Teclado

Preferencias del sistema de teclado

Luego elija la pestaña Accesos directos . Y haga clic en Accesos directos a aplicaciones

Atajos de aplicaciones Haga clic en el botón más para agregar otro acceso directo.

ingrese la descripción de la imagen aquí Por último:

  1. Haga clic en Elegir simulador de la aplicación: menú desplegable. Si no está allí, desplácese hasta el final de la lista de aplicaciones y elija "Otro ...". Luego escriba "simulador" en la búsqueda y agregue el simulador desde allí.
  2. Escriba Borrar todo el contenido y la configuración ... en el cuadro de texto Título del menú : .
  3. Escriba su clave de acceso directo preferente en el acceso directo de teclado: . (Yo uso el período de comando)
  4. Haga clic en el botón Agregar .

ingrese la descripción de la imagen aquí

Ahora, mientras está en su simulador de iOS, simplemente puede usar su nueva tecla de acceso directo para restablecer.


Si el simulador no aparece en la lista desplegable:

  1. En una ventana del Finder, vaya a su carpeta Aplicaciones.
  2. Haga clic con el botón derecho en Xcode y seleccione "Mostrar contenido del paquete".
  3. Navegar a Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/
  4. Verá iPhone Simulator.app.
  5. Ahora, en la aplicación Configuración, en lugar de elegir el simulador de iOS que falta, elige Otro ...
  6. Esto hará que aparezca una ventana que tiene una lista de aplicaciones.
  7. Ahora, arrastre iPhone Simulator.app desde la ventana del Finder a la ventana que apareció cuando hizo clic en Otro ....
Jeff Wolski
fuente
El simulador de iOS ya no aparece en el menú desplegable Aplicación. ¿Debería elegir "xCode.app"? Estoy en OS 10.8.3 con iOS Simulator 6.0.
potencia
8
En una ventana del buscador, vaya a la carpeta Aplicaciones. Opción-clic en Xcode y elija "Mostrar contenido del paquete". Navega a la Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/carpeta. Verás iPhone Simulator.app. Ahora, en la aplicación Configuración, en lugar de elegir iOS Simulatorcuál falta, elige Other.... Esto hará que aparezca una ventana que tiene una lista de aplicaciones. Ahora, arrastre iPhone Simulator.appdesde la ventana del Finder a la ventana que apareció cuando hizo clic Other....
Jeff Wolski
1
Vine aquí buscando algo más, pero seguí tus pasos solo porque tu respuesta fue muy buena. ¡Gracias!
kodybrown
1
Reset Content and Settingsno borrará los activos del lado del cliente en una VPN. Estuve luchando con esto por un tiempo preguntándome por qué mis animaciones CSS funcionaban en todas partes excepto en el simulador, solo para descubrir que estaba almacenando archivos antiguos en caché incluso cuando había eliminado contenido y configuraciones. Lo único que terminó funcionando para mí fue desconectarme de mi VPN y reiniciar mi VM y luego volver a conectarme (el marco en el que uso versiones todos mis activos para mí); también puede versionarlos manualmente si solo está probando cosas, pero eso es molesto. Esto es algo que Apple debería arreglar; solo sucede cuando pruebo para iOS para mí.
Benny
3
Si no puede encontrar el simulador en la ruta Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/como lo señaló @JeffWolski, puede buscarlo por el término de búsquedasimulator.app
atulkhatri
8

Para desarrollo web y pruebas en el simulador de iOS (Safari):

  1. Con iOS Simulator y Safari abiertos, vaya a Safari> Desarrollar> iOS Simulator y seleccione su página que le dará acceso a las herramientas de Web Inspector.

  2. Vaya a Safari> Desarrollar> Vaciar cachés para borrar el caché en iOS Safari.

Adrián Florescu
fuente
@AdrianFlorescu esta es una solución para depurar el desarrollo web en iOS Safari, pero creo que la pregunta estaba relacionada con el desarrollo de aplicaciones iOS.
Ryan
4
No funciona en Safari 9.0.3 con depurador remoto. "Desactivar cachés" tampoco tiene ningún efecto.
Gamadril
1
Esta configuración no hace nada por mí (en realidad no borra el caché en el safari móvil)
HandiworkNYC.com
Si. Parece que ya no limpia la caché de iOS. Supongo que lo hizo en el pasado ...
Yosh
esta es la única solución que parece estar funcionando stackoverflow.com/a/51421939/1055015
Exlord