existe-t-il un moyen de connaître l'état de mon application si elle est en arrière-plan ou en avant-plan? Merci
[UIApplication sharedApplication].applicationState
retournera l'état actuel des applications,
ou si vous souhaitez accéder via notification, voir UIApplicationDidBecomeActiveNotification
nous devons appeler comme
Swift 3 et plus
let state = UIApplication.shared.applicationState
if state == .background || state == .inactive{
// background
}else if state == .active {
// foreground
}
une autre option :
switch UIApplication.shared.applicationState{
case .background,.inactive :
// backgound
break
case .active :
// foreground
break
default:
break
}
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 au premier plan. Vous avez cette information en utilisant le délégué App.
Selon la documentation Apple, vous pouvez peut-être également utiliser la propriété mainWindow de votre application ou la propriété de statut actif de l'application.
Discussion La valeur de cette propriété est nil lorsque le chargement du storyboard ou du fichier nib de l’application n’est pas terminé. Il peut également être nul lorsque l'application est inactive ou masquée.
Si quelqu'un le veut dans Swift 3.0
switch application.applicationState {
case .active:
//app is currently active, can update badges count here
break
case .inactive:
//app is transitioning from background to foreground (user taps notification), do what you need when user taps here
break
case .background:
//app is in background, if content-available key of your notification is set to 1, poll to your backend to retrieve data and update your interface here
break
default:
break
}
pour Swift 4
switch UIApplication.shared.applicationState {
case .active:
//app is currently active, can update badges count here
break
case .inactive:
//app is transitioning from background to foreground (user taps notification), do what you need when user taps here
break
case .background:
//app is in background, if content-available key of your notification is set to 1, poll to your backend to retrieve data and update your interface here
break
default:
break
}