Search code examples
iosswiftbackgroundnsnotifications

Listen for event when user opens app switcher on iOS


How can I listen for an event when a user opens the app switcher (the UI that comes up when a user double taps on the home button) on iOS.

I though UIApplicationDidEnterBackgroundNotification would fire, but it doesn't fire when I open the app switcher. It only fires when I minimize the app by tapping the home button once.

NSNotificationCenter.defaultCenter().addObserver(
  self,
  selector: "onPause",
  name: UIApplicationDidEnterBackgroundNotification,
  object:nil)

func onPause() {
  //Not invoked when app switcher is opened
}

Solution

  • You should receive a UIApplicationWillResignActiveNotification in that case. Your app is no longer the active app, but has not yet moved to the background.

    If the user goes back to your app you'll get a UIApplicationDidBecomeActiveNotification when the app becomes active again. If the user does swap to another app, or select the springboard, then you should get a UIApplicationDidEnterBackgroundNotification.