Borrar datos de la aplicación en simulador de iOS o dispositivos reales

1

Estoy desarrollando aplicaciones nativas para Android e iOS y al depurar algunos escenarios de inicio de sesión necesito restablecer la aplicación a su etapa inicial sin que persista ningún token en el dispositivo (virtual). En Android, es tan fácil como escribir un comando adb adb shell pm clear my.app.package.

¿Hay alguna manera en iOS o debo pasar por el largo proceso de desinstalación y reinstalación de la aplicación?

Philippe Cohen
fuente

Respuestas:

1

En iOS, borrar todo el contenido y la configuración es cómo borras todo y luego presionas tu aplicación nuevamente.

xcrun whatever....

Lo anterior xcrunes simplemente útil para instalar y ejecutar una aplicación en lugar de lo que desea, que es administrar la configuración. Consulte este artículo del desarrollador: al final, explica que su configuración persiste incluso con la eliminación de la aplicación, por lo que deberá limpiar el simulador o escribir su aplicación para restablecer la configuración con un código específico.

https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/UserDefaults/Preferences/Preferences.html#//apple_ref/doc/uid/10000059i-CH6-SW5

Sin embargo, la efectividad de estas tres opciones realmente depende de su código específico. Borrar todo el contenido siempre funciona.

bmike
fuente
Gracias @bmike, me gustaría entender que desde la línea de comandos de mi Mac xcrun defaults delete com.my.appse eliminará mi aplicación del simulador de conexión de dispositivo físico a través de USB. ¿Puedo mencionar el nombre de un dispositivo? No encontré más que la --ayuda documentación corta
Philippe Cohen
@PhilippeCohen xcrun solo instala un paquete de aplicaciones desde un script en la Mac en lugar de hacer clic en ejecutar en Xcode. Automatiza las cosas en las que haría clic en Xcode, no es que abra una línea ssh / comando para hacer cosas. Voy a volver a visitar la opción de desinstalación después de desenterrar un artículo de Apple que explique que no funcionará
bmike
@bmike Tenga en cuenta que ustedes dos están hablando de dos cosas muy diferentes. bmike está hablando de paquetes de configuraciones, que no es lo que quieres. Los tokens en su aplicación no se conservan en el paquete de configuración, por lo que, aunque podría eliminar el paquete de configuración, no logrará lo que Philippe quiere.
jksoegaard
De hecho, @jksoegaard Estoy buscando una forma de limpiar el almacenamiento persistente creado por mi aplicación nativa de reacción, utilizando diferentes medios que configurar el paquete. En Android, esto está habilitado tanto desde la interfaz de usuario (Clear Storage) como desde adb. No encuentro ningún equivalente en iOS
Philippe Cohen
1
@bmike Crearé una nueva respuesta cuando Phillippe proporcione la información necesaria. Yo mismo soy desarrollador de aplicaciones y a menudo necesito hacer lo mismo que Phillippe, pero la forma en que lo hagas depende completamente de cómo se almacenan los tokens. Sin embargo, nadie almacena tokens en paquetes de configuración, por lo que definitivamente no es el camino a seguir. Además, "Borrar todo el contenido y la configuración" no funciona en el simulador. En un dispositivo real, eliminará los tokens normalmente, pero no es un consejo práctico, ya que realmente no puede hacerlo 20-30 veces al día, y no querría hacerlo en un dispositivo que usa para otras cosas.
jksoegaard