iosswiftlifecycle

Detect if the application in background or foreground


Is there any way to know the state of my application if it is in background mode or in foreground?


Solution

  • [UIApplication sharedApplication].applicationState will return current state of applications such as:

    or if you want to access via notification see UIApplicationDidBecomeActiveNotification

    Swift 3+

    let state = UIApplication.shared.applicationState
    if state == .background || state == .inactive {
        // background
    } else if state == .active {
        // foreground
    }
    
    switch UIApplication.shared.applicationState {
        case .background, .inactive:
            // background
        case .active:
            // foreground
        default:
            break
    }
    

    Objective C

    UIApplicationState state = [[UIApplication sharedApplication] applicationState];
    if (state == UIApplicationStateBackground || state == UIApplicationStateInactive) {
        // background
    } else if (state == UIApplicationStateActive) {
        // foreground
    }