Je souhaite vérifier si l'application s'exécute en arrière-plan.
Dans:
locationManagerDidUpdateLocation {
if(app is runing in background){
do this
}
}
ios
objective-c
uiapplicationdelegate
application-lifecycle
ios-background-mode
bobby grenier
la source
la source
locationManager:didUpdateToLocation:fromLocation:
méthode?Réponses:
Le délégué d'application reçoit des rappels indiquant les transitions d'état. Vous pouvez le suivre en fonction de cela.
La propriété applicationState dans UIApplication renvoie également l'état actuel.
la source
[[UIApplication sharedApplication] applicationState] != UIApplicationStateActive
c'est mieux, car UIApplicationStateInactive est presque équivalent à être en arrière-plan ...Cela peut vous aider à résoudre votre problème.
Voir le commentaire ci-dessous - inactif est un cas assez particulier et peut signifier que l'application est en train d'être lancée au premier plan. Cela peut ou non signifier "contexte" pour vous en fonction de votre objectif ...
la source
Swift 3
la source
Version Swift:
la source
Si vous préférez recevoir des rappels au lieu de "poser des questions" sur l'état de l'application, utilisez ces deux méthodes dans votre
AppDelegate
:la source
rapide 5
la source
Swift 4+
la source
Une extension Swift 4.0 pour y accéder un peu plus facilement:
Pour accéder à partir de votre application:
Si vous recherchez des informations sur les différents états (
active
,inactive
etbackground
), vous pouvez trouver la documentation Apple ici .la source