TIL (Today I Learned) 240222_AppDelegate, SceneDelegate

Danny·2024년 2월 22일

TIL(Today I Learned)

목록 보기
32/34

2월 22일 (목)

🔥학습 내용

App Delegate, Scene Delegate

1. App Delegate란 무엇인가?

  • 앱 전체의 생명주기를 관리한다. (앱 실행, 종료, 백그라운드/포어그라운드 전환 등 앱 전체에 영항을 미치는 이벤트를 처리한다.)
  • App Delegate는 앱 전체의 생명주기 동안 존재한다. 앱이 실행될 때 처음 생성되고 앱이 종료될 때까지 메모리에 유지된다.
  • 모든 iOS 앱에서 필수적으로 사용해야 한다.
  • iOS 12 버전 그리고 그 이전 버전은 App Delegate를 사용했다.

2. App Delegate가 처리하는 이벤트

  • 앱 실행 시점 (application:didFinishLaunchingWithOptions:)
  • 앱 백그라운드/포어그라운드 전환 (applicationWillResignActive:,applicationDidBecomeActive:)
  • 앱 종료 시점 (applicationWillTerminate:)
  • 메모리 경고 시점 (applicationDidReceiveMemoryWarning:)
  • URL 처리 (application:openURL:options:)
  • 푸시 알림 처리 (application:didReceiveRemoteNotification:fetchCompletionHandler:)

이밖에도 상당히 많은 이벤트 처리를 할 수 있는 것을 알 수 있다.

3. Scene Delegate란 무엇인가?

  • 씬의 생명주기를 관리한다. (씬이란? 앱의 특정 기능이나, 콘텐츠를 나타내는 단위 -> 하나의 창이라고 생각하면 될 것 같다.)
  • 씬 연결, 연결 해제, 활성화/비활성화 등 씬과 관련된 이벤트를 처리한다.
  • iOS 13 이상에서만 사용할 수 있고, 씬을 사용하는 앱에서만 필요하다.

4. Scene Delegate가 처리하는 이벤트

  • 씬 연결 시점 (scene:willConnectToSession:options:)
  • 씬 연결 해제 시점 (sceneDidDisconnect:)
  • 씬 활성화 시점 (scene:didBecomeActive:)
  • 씬 비활성화 시점 (sceneWillResignActive:)

App Delegate와는 다르게 이벤트 처리가 상당히 많지 않다는 것을 알 수 있다.

#.참고URL

profile
안녕하세요 iOS 개발자 지망생 Danny 입니다.

0개의 댓글