티스토리 뷰

반응형

 

 

 


UIApplicationDelegate

UIApplicationDelegate는 앱의 행위, App Life Cycle 관리를 하기 위해 사용되는 메서드의 집합체를 정의하는 프로토콜입니다. 

 

 


Declaration
선언방법

UIApplicationDelegate는 프로토콜로 구현되어 있습니다. UIKit에 포함되어 있으며, iOS 2.0 / Mac 13.0 / tvOS 9.0 이상에서 지원합니다. 

 

 


Overview
개요

앱 델리게이트 객체(App Delegate Object)는 앱의 공유되는 행위, App Life Cycle을 관리하는데 사용합니다. 앱 델리게이트는 실질적으로는 앱의 루트 객체라고 할 수 있으며, 앱이 시스템과 상호작용하는 것을 관리하기 위해 UIApplication과 연결되어 동작합니다. 

UIApplication 객체와 같이, UIKit은 앱이 런칭되기에 앞서 앱 델리게이트를 생성합니다. 그렇기 때문에 이후 항상 화면에 뿌려지게 됩니다.

 

앱 델리게이트 객체(App Delegate Object)를 사용하면 아래와 같은 동작을 처리할 수 있습니다.

◼︎ 앱의 중앙 데이터(CoreData, UserDefaults 등...)를 초기화할 수 있습니다.
◼︎ 앱의 씬(Scene)을 설정할 수 있습니다.
◼︎ 앱 외부에서 발생하는 Notification 알림에 반응할 수 있습니다. 그 예를 들면, 저메모리 경고(low-memory warnings), 다운로드 완료 알림, 그 외 등등이 있습니다. 
◼︎ App 자기 자신을 타겟으로 하는 다양한 이벤트들에 반응할 수 있습니다. 어느 하나에 대해서 만이 아닌 Scene, 뷰, 뷰컨트롤러 등 다양한 곳의 이벤트에 반응할 수 있습니다.
◼︎ 앱이 런칭할 때 여구 되는 서비스에 대한 가입을 다룰 수 있습니다. 그 예로는 애플 푸시알람 서비스인 APNS(Apple Push Notification Service)의 사용이 있습니다.

앱을 런칭할 때 앱을 초기화 하기 위해  델리게이트(AppDelegate)를 사용하는 법이 궁금하다면, Apple iOS 개발자 공식 문서 내용 중, Responding to the Launch of Your App 을 찾아보세요.

 

 

 


Life Cycle Management in iOS 12 and Earlier
iOS12 이하 버전에서의 앱 생애주기 관리

iOS 이하 버전에서 개발자는 앱 내의 생애 주기 이벤트를 관리하기 위해 AppDelegate를 사용해야 합니다. 구체적으로, 개발자는 앱이 Foreground, Background 진입으로 앱 상태가 변경되었을 때 AppDelegate의 델리게이트 메서드를 사용할 수 있습니다. 

 

 

 


iOS의 App은 실행되어 살아있는 동안 Background -> Foreground로 진입하거나, Foreground -> Background로 진입할 수 있고 그 외로도 App 실행 간 Active, InActive 등의 다양한 App Life Cycle 상태 변환이 생길 수 있습니다. 이 때 개발자는 AppDelegate의 델리게이트 메서드를 적시적소에 사용해서 앱의 생애주기를 관리할 수 있습니다.

다음번에는 이러한 상태 변화 간 개발자가 알아야 할 사항이 무엇이 있을지 하나하나 알아보도록 하겠습니다. 👨🏻‍💻

 

 

 

반응형
댓글
반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함