actualización: A pesar de que mi respuesta se downvoted, creo que esta es la forma más fácil de tratar con las recargas forzados por iOS. Mi estrategia es y no para evitar que la aplicación web se vuelva a cargar al abrirla, pero le proporciona una forma fácil de mantener activa la sesión para que pueda detectar y restaurar la sesión desde el servidor, de modo que no se produzca el flujo de la aplicación. está roto (según lo solicitado por el OP).
NB; esto funciona más fácilmente si todas las páginas de su aplicación web siempre se abordan a través de la misma URL (por ejemplo, http://webapp.yourdomain.com/index.php); de lo contrario, deberá almacenar la ubicación del usuario en los datos de la sesión en el lado del servidor y reenviar al usuario allí cuando ingrese su aplicación web a través de la URL principal.
Como dije, esto le permite mantener el estado intacto incluso entre los reinicios del dispositivo, por lo que aunque técnicamente no detenga la recarga de la aplicación web cuando se inicia desde la pantalla de inicio, me parece que es la más fácil forma de restaurar el estado para el usuario sin que él/ella note la recarga.
Una solución mucho más fácil que utilizar el almacenamiento local es prolongar la vida útil de su cookie de sesión. Esto funciona en todas las aplicaciones web (siempre que apunten a la misma página, por supuesto), e incluso entre la aplicación web y la versión web regular de su aplicación.
El truco es hacer esto:
// Start or resume session
session_start();
// Extend cookie life time by an amount of your liking
$cookieLifetime = 365 * 24 * 60 * 60; // A year in seconds
setcookie(session_name(),session_id(),time()+$cookieLifetime);
Para una discusión más detallada de esta estrategia se puede echar un vistazo a mi respuesta de esta pregunta:
Maintain PHP Session in web app on iPhone
Ver mi respuesta aquí : http://stackoverflow.com/a/40707231/473637 – Jeshurun