application(_:willFinishLaunchingWithOptions:) {
// 앱 실행시 최초 실행 코드 : 주요 객체를 생성하고 앱 준비가 끝나기 직전에 호출됨
}
applicationDidFinishLaunching(_:) {
// 앱 초기화 코드 : 앱 실행 준비 끝난 후 사용자에게 보이기 직전에 호출됨
}
applicationDidFinishLaunching(_:) {
// 앱이 종료되기 직전에 호출됨
}
sceneWillEnterForeground(_:) {
// foreground로 들어가기 직전에 호출됨
}
sceneWillResignActive(_:) {
// App Switcher 모드 (홈 버튼 동작 상태)
}
sceneDidBecomeActive(_:) {
// 앱 실행 직전, 마지막으로 준비할 코드 : 활성화 상태 진입 직후 호출됨
}
sceneDidEnterBackground(_:) {
// Suspended 상태가 되기 전 중요 데이터 저장 등을 수행
}
간단히 말하면 iOS 13 버전부터 추가된 UI 생명 주기 관리 클래스
이다!
iOS12 버전까지는 하나의 앱이 하나의 윈도우만 사용해왔기 때문에
AppDelegate
클래스가 UI 생명주기까지 관리했다.
iOS13 버전부터는 하나의 앱이 여러개의 윈도우를 사용할 수 있게 되어
SceneDelegate
라는 UI 생명 주기 관리 클래스
가 등장한 셈이다!
(위에 등장한 코드들은 iOS 13 이상을 위한 코드만 다루었다.)