티스토리 뷰
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의 델리게이트 메서드를 적시적소에 사용해서 앱의 생애주기를 관리할 수 있습니다.
다음번에는 이러한 상태 변화 간 개발자가 알아야 할 사항이 무엇이 있을지 하나하나 알아보도록 하겠습니다. 👨🏻💻
'iOS 개발 > 개발자문서 정보' 카테고리의 다른 글
Swift 문법, String Literals 문자열 리터럴 사용법 (0) | 2020.08.01 |
---|---|
Swift 문서, Strideable 프로토콜 및 stride 사용법 (0) | 2020.07.31 |
iOS 생애주기 관리, 프로토콜 UISceneDelegate 개요 (0) | 2020.07.29 |
Swift 문법, Extension에 Generic Where 절 활용하기 (0) | 2020.07.28 |
스위프트 문법, Generic Where 절 특징 및 사용방법 (0) | 2020.07.27 |
- Total
- Today
- Yesterday
- ios
- 스위프트
- swift 기초
- SwiftUI
- 자연어처리
- swift
- Protocol
- swift reduce
- Collection
- 컬렉션
- swift 문자열
- uikit
- 프로토콜
- 백준swift
- swift알고리즘
- createML
- 김프매매
- swift string
- swift문제
- 백준알고리즘
- 개발자문서
- 프로그래머스swift
- 부스트코스
- CoreML
- 프로그래머스
- 알고리즘문제
- publisher
- Swift 알고리즘
- 알고리즘
- swift언어
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |