iOS 앱 수명 주기

May 10 2023
⭐ 앱 시작 시 앱을 처음 탭하여 실행할 때 AppDelegate가 호출되는 순서입니다. func application(_:willFinishLaunchingWithOptions) func application(_:didFinishLaunchingWithOptions:) func applicationDidBecomeActive(UIApplication) ⭐ background app 앱이 백그라운드로 이동했을 때 AppDelegate가 호출되는 순서입니다.

⭐ 앱이 시작될 때

앱을 처음 탭하고 시작할 때 AppDelegate가 호출되는 순서입니다.

func application(_:willFinishLaunchingWithOptions)

func application(_:didFinishLaunchingWithOptions:)

func applicationDidBecomeActive(UIApplication)

⭐ 백그라운드 앱

앱이 백그라운드로 이동될 때 AppDelegate가 호출되는 순서입니다.

func applicationWillResignActive(UIApplication)

func applicationDidEnterBackground(UIApplication)

앱이 백그라운드에 있을 때 앱 아이콘을 누르세요.

앱이 백그라운드에 있을 때 앱 아이콘을 누르면 앱이 포그라운드로 전환됩니다. 이때 AppDelegate가 호출되는 순서입니다.

func applicationWillEnterForeground(UIApplication)

func applicationDidBecomeActive(UIApplication)

앱 종료 시

애플리케이션이 종료될 때 AppDelegate가 호출되는 순서입니다.

func applicationWillResignActive(UIApplication)

func applicationDidEnterBackground(UIApplication)

func applicationWillTerminate(UIApplication)

⭐ UniversalLink로 시작할 때

앱이 실행되지 않을 때(Not Running)

앱이 실행되고 있지 않을 때(Not Running) 범용 링크로 앱을 시작할 때 AppDelegate 메서드가 호출되는 순서입니다.

func application(_:willFinishLaunchingWithOptions)

func application(_:didFinishLaunchingWithOptions:)

func application(_:continue:restorationHandler:)

func applicationDidBecomeActive(UIApplication)

앱이 백그라운드(백그라운드)일 때

앱이 백그라운드 상태(Background)에 있을 때 범용 링크로 앱을 실행할 때 AppDelegate 메서드가 호출되는 순서입니다.

func applicationWillEnterForeground(UIApplication)

func application(_:continue:restorationHandler:)

func applicationDidBecomeActive(UIApplication)

⭐ 알림을 탭하여 활성화된 경우

앱이 실행되지 않을 때(Not Running)

앱이 실행 중이 아닐 때(Not Running) 알림에서 앱이 시작될 때 AppDelegate 메서드가 호출되는 순서입니다.

func application(_:willFinishLaunchingWithOptions)

func application(_:didFinishLaunchingWithOptions:)

func userNotificationCenter(_:didReceive:withCompletionHandler:)

func applicationDidBecomeActive(UIApplication)

앱이 백그라운드(백그라운드)일 때

앱이 백그라운드에 있는 동안 알림에서 앱이 시작될 때 AppDelegate 메서드가 호출되는 순서입니다.

func applicationWillEnterForeground(UIApplication)

func userNotificationCenter(_:didReceive:withCompletionHandler:)

func applicationDidBecomeActive(UIApplication)

어플리케이션이 시작될 때(포그라운드)

앱이 포그라운드에 있을 때 알림을 탭하면 다음 메서드가 호출됩니다.

userNotificationCenter(_:willPresent:withCompletionHandler:)

⭐ 앱의 현재 상태를 얻는 방법

앱 UIApplication.shared.applicationState의 현재 상태는 활성, 비활성, .background에서 정의된 세 가지 상태 UIApplication.State가 있습니다.

참조

  • 앱의 수명 주기 관리
  • Apple 참조 응용 프로그램(_:continue:restorationHandler:)
  • Apple 참조 UI응용 프로그램
  • Apple 참조 UIApplication.State