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
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
}
Swift 3
let state: UIApplicationState = UIApplication.shared.applicationState
if state == .background {
// background
}
else if state == .active {
// foreground
}
Swift 4
let state = UIApplication.shared.applicationState
if state == .background {
print("App in Background")
}else if state == .active {
print("App in Foreground or Active")
}
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.
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.