¿Es posible tener acceso a la networking después de un evento de "pausa" en la aplicación PhoneGap iOs?

La aplicación My PhoneGap necesita emitir un post websocket (para actualizar el estado de la connection) al server cuando se captura el evento " pausa ".

Androide

Con el dispositivo Android no hay problema al usar esta pieza de código:

document.addEventListener("deviceready",function(){ document.addEventListener("pause", function() { socket.emit('changeStatus', 'incative'); }); document.addEventListener("resume", function() { socket.emit('changeStatus', 'active'); }); }, false); 

iOs

En iOs esta es una caldera de pescado diferente. De hecho, aquí está la documentation oficial de PhoneGap sobre el evento " pausa ":

iOS Quirks

En el manejador de pausa, cualquier llamada que pase por Objective-C no funcionará, ni ninguna llamada interactiva, como alertas. Esto significa que no puede llamar a console.log (y sus variantes), ni a ninguna llamada de complementos ni a la API PhoneGap. Estos solo se procesarán cuando se reanude la aplicación (procesada en el siguiente ciclo de ejecución).

Cuando dicen "las llamadas que pasan por Objective-C no funcionarán", ¿están hablando de usar el acceso a la networking? De hecho, cuando pruebo mi aplicación en iOs, mi post "changeStatus" con el valor "inactivo" se envía cuando reanudo mi aplicación.

Esta es mi segunda pregunta: ¿es posible en la aplicación phonegap iOs acceder al server después de la captura de un evento de "pausa"?

Gracias por tu ayuda

No creo que sea posible debido a varios problemas de security en iOS. Como solución alternativa, puede ejecutar una function de eco en el extremo del server de socket, que emitirá posts continuamente a ese usuario en particular a intervalos específicos. Si el usuario responde a ese post, puede considerar que el usuario como usuario activo lo considera como un usuario inactivo.

Tampoco es una buena práctica para el usuario enviar su estado de actividad. Considere lo que sucederá si el usuario pierde su conectividad? Nunca llegarás a saber si él está activo o dormido … Por lo tanto, es mejor que lo verifiques mediante ping al final del server.