¿Cuándo permite iOS que una aplicación se ejecute en segundo plano?

En la versión actual de iOS, hay varias formas de ejecutar una aplicación, dentro de ciertos límites, en segundo plano. Esto ha cambiado con el tiempo y se han agregado nuevas formas. No varía según el dispositivo, pero varía según la versión de iOS.

Puede decirle a iOS que necesita ejecutarse en segundo plano por varias razones con las capacidades de la aplicación. Tenga en cuenta: si activa una de estas capacidades pero no la usa en su aplicación, es posible que su aplicación sea rechazada de la tienda de aplicaciones.

No importa la capacidad de fondo, hay límites. Si usa la CPU durante demasiado tiempo o se despierta demasiadas veces, iOS matará su aplicación. Esto se verá como un bloqueo para el usuario.

Las aplicaciones de navegación pueden obtener información de navegación y movimiento mientras están en segundo plano. Las aplicaciones de VoIP pueden recibir impulsos de baja latencia y recibir tráfico de red en segundo plano. Las aplicaciones que reproducen sonido pueden continuar haciéndolo. Las aplicaciones en red pueden obtener tráfico de red y mantener una conexión. Las aplicaciones con envío remoto pueden recibir envíos en segundo plano.

No puede simplemente ejecutar una aplicación en segundo plano porque lo desea, tiene que caer en una de las categorías que pueden hacerlo. La única excepción es una “tarea en segundo plano” que se puede ejecutar para limpiar las cosas en segundo plano. Sin embargo, es una tarea de tiempo limitado.

Cada vez que un usuario abandona una aplicación (y no fuerza su eliminación), la aplicación se suspende en segundo plano.

Entonces depende del desarrollador ver si quiere que la aplicación haga algo entonces. Hay algunos estados diferentes en los que la aplicación puede estar. Puede estar “activamente” en segundo plano, como lo que hacen muchas aplicaciones de navegación o la aplicación del teléfono. No verá la aplicación en primer plano, pero aún se está ejecutando como si lo fuera. El desarrollador también puede solicitar realizar ciertos servicios en segundo plano (buscar su ubicación, obtener nueva información), etc. Depende del desarrollador implementar esto, y el usuario debe dar permiso a la aplicación para hacerlo. La aplicación puede “despertarse”, ejecutar una tarea corta y luego volver a dormir.

More Interesting

Apple promueve que Swift es mucho más fácil que Objective-C, pero como desarrollador experimentado de Objective-C, descubrí que Swift es mucho más difícil de aprender debido a sus características más ricas y su estilo de programación orientado al protocolo. ¿Es verdad?

¿Los TOS de Apple impiden las pruebas A / B de las aplicaciones de iPhone?

¿Qué idiomas necesito saber para crear solo una aplicación (no un sitio web) como Quora o Facebook (para iOS) y por qué?

¿Cuánto cuesta obtener una aplicación nativa de iPhone desarrollada?

¿Cuánto tiempo llevó desarrollar Periscope?

Diseño de interfaz de usuario móvil: ¿Cuál es el mejor ícono para usar en la acción 'Elegir foto del rollo de cámara' en una aplicación de iPhone?

¿Qué otros lenguajes de programación, además de Swift, debería conocer un desarrollador de iOS de pila completa?

Si el desarrollo de una aplicación de Android llevara 1000 horas humanas, ¿cuánto tiempo llevaría portar la aplicación a iOS?

Cómo agregar un bucle de fondo MP3 en una página creada por Interface Builder

¿Cuál es la mejor aplicación en general para iOS y Android además de cuál es la aplicación?

¿Es posible suspender un UiWebView, similar a un safari móvil?

¿Qué versión de Mac debo comprar si quiero ser un desarrollador de aplicaciones iOS?

¿Prefieres Ruby on Rails o PHP para el backend de tu aplicación iOS y por qué?

¿Cuáles son las 5 herramientas más útiles para obtener más descargas de su aplicación iOS?

Xamarin, NativeScript de Telerik, Corona SDK y una miríada de otros marcos de desarrollo cruzado se publican todo el tiempo. ¿No es mejor ser nativo de inmediato en lugar de agregar una capa de abstracción entre el desarrollador y el idioma de destino?