Détecter si l'application en arrière-plan ou en premier plan dans swift

y a-t-il un moyen de connaître l'état de mon application si elle est en mode background ou en premier plan . Merci

28
demandé sur Anbu.karthik 2016-08-16 13:03:58

4 réponses

[UIApplication sharedApplication].applicationState retour de l'état actuel des applications,

  • UIApplicationStateActive
  • UIApplicationStateInactive
  • UIApplicationStateBackground

nous devons appeler comme

swift 3 et au-dessus

 let state = UIApplication.shared.applicationState
    if state == .background  || state == .inactive{
        // background
    }else if state == .active {
        // foreground
    }

Objctive C

 UIApplicationState state = [[UIApplication sharedApplication] applicationState];
if (state == UIApplicationStateBackground || state == UIApplicationStateInactive)
{
      // background
 }else if (state == UIApplicationStateActive)
{
    // foreground
}
76
répondu Anbu.karthik 2018-09-21 05:08:35

Swift 3

  let state: UIApplicationState = UIApplication.shared.applicationState

            if state == .background {

                // background
            }
            else if state == .active {

                // foreground
            }
11
répondu dimo hamdy 2016-12-14 10:48:34

Swift 4

let state = UIApplication.shared.applicationState
        if state == .background {
            print("App in Background")
        }else if state == .active {
            print("App in Foreground or Active")
        }
2
répondu Ashu 2018-05-29 06:27:26

vous pouvez ajouter un booléen lorsque l'application entre en arrière-plan ou en avant-plan. Vous disposez de cette information en utilisant L'App delegate.

selon la documentation Apple, peut-être Pouvez-vous aussi utiliser la propriété mainWindow de votre Application ou la propriété active status de l'application.

NSApplication documentation

Discussion La valeur dans cette propriété est nulle lorsque le storyboard ou le fichier nib de l'application n'a pas encore fini de se charger. Il pourrait également être nul lorsque l'application est inactive ou cachés.

1
répondu Atlandu 2016-08-16 10:10:51