iOS Manteniendo la pantalla de inicio anterior y el ícono de la aplicación después de la actualización

Tengo una aplicación en la que recientemente reemplazé las imágenes de inicio y los icons de la aplicación, eliminé todos los activos anteriores de todas partes del proyecto. Cuando actualizo la aplicación de la versión anterior a la nueva versión simplemente construyendo en xcode, todo está bien. Sin embargo, si tengo la versión anterior de mi aplicación instalada, actualícela desde el testflight, cada vez que elimino la aplicación, reinícalo y aparecerá brevemente la image de inicio anterior antes de mostrar la nueva image de inicio. De manera similar, cuando cierro la aplicación, el ícono de la aplicación antigua parpadea brevemente antes de volver a mi nueva aplicación.

Abrí la aplicación con iExplorer y me di count de que hay una image de la pantalla de inicio anterior guardada en el directory / Library / Caches / Shapshots (no sé cómo ni por qué llegó allí). Cuando lo elimino manualmente a través de iExplorer, deja de aparecer. Sin embargo, cuando trato de eliminarlo con código utilizando los methods NSFileManager, recibo errores que dicen que estoy prohibido de eliminar files en este directory.

¿Alguien ha experimentado esto antes y tiene algún consejo?

He podido get de forma confiable el caching del trampolín para probar los cambios de image de inicio al hacer esto:

  1. Eliminar tu aplicación del dispositivo
  2. Apagar el dispositivo
  3. Encienda el dispositivo, instale e inicie la aplicación.

La image se actualiza correctamente cada vez. Es una pena que necesite apagar el dispositivo para que funcione, pero al less pude avanzar de esta manera. Espero que esto ayude a alguien.

Estos cachings son utilizados por Springboard para que la aplicación cambie rápidamente. Este no es un problema que afectará a sus usuarios de producción y, en teoría, debería desaparecer la próxima vez que Springboard decida tomar una instantánea de su aplicación.

Dicho esto, este no es un problema que puedas solucionar. Este es un error en el código de Apple que no es tuyo.

Para el simulador simplemente Reset Contents and Settings...

@InkGolem

Este no es un problema que afectará a sus usuarios de producción.

es real.

Me enfrenté a este problema cuando cambié mi pantalla de inicio, SplashScreen y el icono de la aplicación. Probé todos los methods, pero no funcionó. Finalmente, acabo de publicar mi aplicación y descargué mi aplicación de App Store con el dispositivo que no utilicé para el desarrollo . SplashScreen y el ícono de la aplicación funcionan de manera normal.

Desinstale su aplicación, reinicie su teléfono e instale su aplicación nuevamente … Esto realmente se arregló en mi caso.

Encontré una solución alternativa, ¿qué pasa si realmente quieres solucionar este problema? Apple tiene algunos mecanismos para almacenar en caching imágenes de la pantalla de inicio que indexan por nombre de file de image.

Cuando cambie las imágenes en la pantalla de inicio y desee verlas cambiar en la próxima ejecución de inmediato. utilice el nuevo nombre de image, la image que ha cambiado y el enlace a un nuevo file de image en storyboard o xib.

Ejecutar de nuevo, verá que aparece un nuevo cambio.

Simplemente conecte su dispositivo, vaya a Xcode> Ventana> Dispositivos> Su dispositivo, ahora en las aplicaciones instaladas, select su aplicación, haga clic derecho y descargue el contenedor, vaya al file generado, haga clic derecho, Mostrar contenido del package, AppData, Biblioteca, Caches, y eliminar files. Ahora vaya a Xcode> Ventana> Dispositivos> Su dispositivo> su aplicación y haga clic derecho para replace contenedores.

Ok, así que me di count del problema. En la versión anterior de mi aplicación, estábamos usando una pantalla de inicio XIB. En algún lugar en el desarrollo de esta nueva versión, el xib se eliminó y se reemplazó solo con imágenes de lanzamiento estáticas.

La solución es utilizar una pantalla de inicio XIB. Noté que en el momento en que usé una pantalla de inicio xib por primera vez, el file almacenado en el directory de instantáneas fue reemplazado por la instantánea del xib.

Tenía este problema también. Al ser un novato total, cambié ingenuamente el LaunchScreen.storyboard a LaunchScreen.xib. La ejecución falló (duh), así que lo cambié de nuevo a .storyboard volvió a ejecutar la aplicación solo para probar que no había jodido nada más y la pantalla anterior no apareció primero. Entonces, sea lo que sea que hice, debe haber eliminado el antiguo caching.

@Chino

@InkGolem

Este no es un problema que afectará a sus usuarios de producción es real.

Me enfrenté a este problema cuando cambié mi pantalla de inicio, SplashScreen y el icono de la aplicación. Probé todos los methods, pero no funcionó. Finalmente, acabo de publicar mi aplicación y descargué mi aplicación de App Store con el dispositivo que no utilicé para el desarrollo. SplashScreen y el ícono de la aplicación funcionan de manera normal.

En este dispositivo, ¿tenía instalada la versión anterior? Creo que esto es lo mismo que las respuestas anteriores que dicen eliminar y reinstalar o eliminar, reiniciar y volver a instalar.

Estoy teniendo el mismo problema y es con dispositivos de desarrollo y producción, con simulador y de appstore. También puedo volver a crear el problema con el simulador. Primero ejecuto el simulador con una versión anterior de mi código, luego ejecuto el simulador con una versión posterior. En ambos casos, la vieja pantalla de inicio se cuida. Dentro del simulador, la eliminación de la instantánea no funciona, ya que simplemente se recrea. Cuando cierras la aplicación presionando el button de inicio, se toma una nueva instantánea que tiene la pantalla de inicio anterior. Ahora … si elimino la versión anterior de la aplicación del teléfono o el simulador y luego instalo usando xcode o la aplicación de almacenamiento, la pantalla de inicio se actualizará correctamente. Sin embargo, esta no es una solución ideal para los usuarios finales.

¿Alguien ha llegado a una solución que no suponga borrar la aplicación anterior del teléfono?

Lo he intentado: cambiar el nombre del file LaunchScreen xib Cambiar el nombre de las imágenes utilizadas por LaunchScreen Agregar una image en blanco a la pantalla. Window en applicationDidEnterBackground para ocultar la pantalla antes de la instantánea

Agregando un descanso en [application didFinishLaunchingWithOptions] puedo ver que la vieja LaunchScreen está apareciendo antes de que se invoque didFinishLaunchingWithOptions.