This reference will tell you the order in which UIApplicationDelegate methods are called based on the action performed and the current state of the app.
Not Loaded is defined as the app not being in memory at all.
Backgrounded is defined as being in the background (not yet purged from memory).
This data was gathered using iOS 11.0.3
- Launching the app
- Backgrounding the app
- Open Universal Link
- Open Deep Link
- Open Push Notification
- System Alert Displayed
- Background Fetch
- applicationWillChangeStatusBarFrame: Inactive
- applicationDidChangeStatusBarFrame: Inactive
- applicationSupportedInterfaceOrientationsFor: Inactive
- applicationSupportedInterfaceOrientationsFor: Inactive
- applicationSupportedInterfaceOrientationsFor: Inactive
- applicationSupportedInterfaceOrientationsFor: Inactive
- applicationWillFinishLaunchingWithOptions: Inactive - LaunchOptions: nil
- applicationDidFinishLaunchingWithOptions: Inactive - LaunchOptions: nil
- applicationSupportedInterfaceOrientationsFor: Inactive
- applicationSupportedInterfaceOrientationsFor: Inactive
- applicationSupportedInterfaceOrientationsFor: Inactive
- applicationDidBecomeActive: Active
- applicationWillEnterForeground: Background
- applicationDidBecomeActive: Active
- applicationWillResignActive: Active
- applicationDidEnterBackground: Background
- applicationShouldSaveApplicationState: Background
- applicationWillEncodeRestorableStateWith: Background
- applicationSupportedInterfaceOrientationsFor: Background
- applicationWillChangeStatusBarFrame: Inactive
- applicationDidChangeStatusBarFrame: Inactive
- applicationSupportedInterfaceOrientationsFor: Inactive
- applicationSupportedInterfaceOrientationsFor: Inactive
- applicationSupportedInterfaceOrientationsFor: Inactive
- applicationSupportedInterfaceOrientationsFor: Inactive
- applicationWillFinishLaunchingWithOptions: Inactive - LaunchOptions: { UIApplicationLaunchOptionsUserActivityIdentifierKey = "748F80DF-639A-4013-A8E6-F174E99DEE03"; UIApplicationLaunchOptionsUserActivityKey = "<NSUserActivity: 0x1c0023ba0>"; UIApplicationLaunchOptionsUserActivityTypeKey = NSUserActivityTypeBrowsingWeb; }
- applicationShouldRestoreApplicationState: Inactive
- applicationDidDecodeRestorableStateWith: Inactive
- applicationDidFinishLaunchingWithOptions: Inactive - LaunchOptions: { UIApplicationLaunchOptionsUserActivityIdentifierKey = "748F80DF-639A-4013-A8E6-F174E99DEE03"; UIApplicationLaunchOptionsUserActivityKey = "<NSUserActivity: 0x1c0023ba0>"; UIApplicationLaunchOptionsUserActivityTypeKey = NSUserActivityTypeBrowsingWeb; }
- applicationSupportedInterfaceOrientationsFor: Inactive
- applicationSupportedInterfaceOrientationsFor: Inactive
- applicationSupportedInterfaceOrientationsFor: Inactive
- applicationWillContinueUserActivityWithType: Inactive
- applicationContinueUserActivityRestorationHandler: Inactive
- applicationDidBecomeActive: Active
- applicationWillEnterForeground: Background
- applicationWillContinueUserActivityWithType: Inactive
- applicationContinueUserActivityRestorationHandler: Inactive
- applicationDidBecomeActive: Active
- applicationWillChangeStatusBarFrame: Inactive
- applicationDidChangeStatusBarFrame: Inactive
- applicationSupportedInterfaceOrientationsFor: Inactive
- applicationSupportedInterfaceOrientationsFor: Inactive
- applicationSupportedInterfaceOrientationsFor: Inactive
- applicationSupportedInterfaceOrientationsFor: Inactive
- applicationWillFinishLaunchingWithOptions: Inactive - LaunchOptions: { UIApplicationLaunchOptionsURLKey: appLaunchSeq://whatup }
- applicationDidFinishLaunchingWithOptions: Inactive - LaunchOptions: { UIApplicationLaunchOptionsURLKey: appLaunchSeq://whatup }
- applicationSupportedInterfaceOrientationsFor: Inactive
- applicationSupportedInterfaceOrientationsFor: Inactive
- applicationSupportedInterfaceOrientationsFor: Inactive
- applicationOpenURL: Inactive URL:appLaunchSeq://whatup
- applicationDidBecomeActive: Active
- applicationWillEnterForeground: Background
- applicationOpenURL: Inactive URL:appLaunchSeq://whatup
- applicationDidBecomeActive: Active
- applicationWillChangeStatusBarFrame: Inactive
- applicationDidChangeStatusBarFrame: Inactive
- applicationSupportedInterfaceOrientationsFor: Inactive
- applicationSupportedInterfaceOrientationsFor: Inactive
- applicationSupportedInterfaceOrientationsFor: Inactive
- applicationSupportedInterfaceOrientationsFor: Inactive
- applicationWillFinishLaunchingWithOptions: Inactive - LaunchOptions: [__C.UIApplicationLaunchOptionsKey(_rawValue: UIApplicationLaunchOptionsRemoteNotificationKey): { aps = { alert = "Hi Sean!"; badge = 1; sound = default; }; }]
- applicationShouldRestoreApplicationState: Inactive
- applicationDidDecodeRestorableStateWith: Inactive
- applicationDidFinishLaunchingWithOptions: Inactive - LaunchOptions: [__C.UIApplicationLaunchOptionsKey(_rawValue: UIApplicationLaunchOptionsRemoteNotificationKey): {
aps = { alert = "Hi Sean!"; badge = 1; sound = default; }; }] - applicationSupportedInterfaceOrientationsFor: Inactive
- applicationSupportedInterfaceOrientationsFor: Inactive
- applicationSupportedInterfaceOrientationsFor: Inactive
- applicationDidReceiveRemoteNotification: Inactive
- applicationDidBecomeActive: Active
- applicationWillEnterForeground: Background
- applicationDidReceiveRemoteNotification: Inactive
- applicationDidBecomeActive: Active
(e.g. when asking for notification privileges)
- applicationWillResignActive: Active
- applicationDidBecomeActive: Active
- applicationWillChangeStatusBarFrame: Background
- applicationDidChangeStatusBarFrame: Background
- applicationSupportedInterfaceOrientationsFor: Background
- applicationSupportedInterfaceOrientationsFor: Background
- applicationSupportedInterfaceOrientationsFor: Background
- applicationSupportedInterfaceOrientationsFor: Background
- applicationWillFinishLaunchingWithOptions: Background - LaunchOptions: nil
- applicationDidFinishLaunchingWithOptions: Background - LaunchOptions: nil
- applicationSupportedInterfaceOrientationsFor: Background
- applicationSupportedInterfaceOrientationsFor: Background
- applicationSupportedInterfaceOrientationsFor: Background
- applicationPerformFetchWithCompletionHandler: Background