Quiero verificar si la aplicación se ejecuta en segundo plano.
En:
locationManagerDidUpdateLocation {
if(app is runing in background){
do this
}
}
Quiero verificar si la aplicación se ejecuta en segundo plano.
En:
locationManagerDidUpdateLocation {
if(app is runing in background){
do this
}
}
locationManager:didUpdateToLocation:fromLocation:
método?Respuestas:
El delegado de la aplicación recibe devoluciones de llamada que indican transiciones de estado. Puedes rastrearlo en base a eso.
Además, la propiedad applicationState en UIApplication devuelve el estado actual.
fuente
[[UIApplication sharedApplication] applicationState] != UIApplicationStateActive
es mejor, ya que UIApplicationStateInactive es casi equivalente a estar en segundo plano ...Esto puede ayudarlo a resolver su problema.
Vea el comentario a continuación: inactivo es un caso bastante especial y puede significar que la aplicación está en proceso de iniciarse en primer plano. Eso puede o no significar "antecedentes" para usted dependiendo de su objetivo ...
fuente
Swift 3
fuente
Versión rápida:
fuente
Si prefiere recibir devoluciones de llamada en lugar de "preguntar" sobre el estado de la aplicación, use estos dos métodos en su
AppDelegate
:fuente
rápido 5
fuente
Swift 4+
fuente
Una extensión Swift 4.0 para facilitar el acceso a ella:
Para acceder desde su aplicación:
Si está buscando información sobre los diferentes estados (
active
,inactive
ybackground
), se puede encontrar la documentación de Apple aquí .fuente