App delegate gets callbacks indicating state transitions. You can track it based on that.
Also the applicationState property in UIApplication returns the current state.
[[UIApplication sharedApplication] applicationState]
UIApplicationState state = [[UIApplication sharedApplication] applicationState];
if (state == UIApplicationStateBackground || state == UIApplicationStateInactive)
{
//Do checking here.
}
This may help you in solving your problem.
See comment below - inactive is a fairly special case, and can mean that the app is in the process of being launched into the foreground. That may or may not mean "background" to you depending on your goal...
Swift 3
let state = UIApplication.shared.applicationState
if state == .background {
print("App in Background")
}
Swift version :
let state = UIApplication.shared.applicationState
if state == .Background {
print("App in Background")
}
If you prefer to receive callbacks instead of "ask" about the application state, use these two methods in your AppDelegate
:
- (void)applicationDidBecomeActive:(UIApplication *)application {
NSLog(@"app is actvie now");
}
- (void)applicationWillResignActive:(UIApplication *)application {
NSLog(@"app is not actvie now");
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With