이전에는 앱이 foreground에 들어가거나 background로 이동할 때 앱의 상태를 업데이트하는 등의 앱의 주요 생명 주기 이벤트를 관리했었지만 더이상 하지 않음!
//애플리케이션이 실행된 직후 사용자의 화면에 보여지기 직전에 호출
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool
//애플리케이션이 최초 실행될 때 호출되는 메소드
func application(_ application: UIApplication, willFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool
//애플리케이션이 InActive 상태로 전환되기 직전에 호출
func applicationWillResignActive(_ application: UIApplication)
//애플리케이션이 백그라운드 상태로 전환된 직후 호출
func applicationDidEnterBackground(_ application: UIApplication)
//애플리케이션이 Active 상태가 되기 직전, 화면에 보여지기 직전에 호출
func applicationWillEnterForeground(_ application: UIApplication)
//애플리케이션이 Active 상태로 전환된 직후 호출
func applicationDidBecomeActive(_ application: UIApplication)
//애플리케이션이 종료되기 직전에 호출
func applicationWillTerminate(_ application: UIApplication)
화면에 표시되는 내용(Windows 또는 Scenes)들을 처리하고 앱이 표시되는 방식을 관리
optional func scene(_ scene: UIScene,
willConnectTo session: UISceneSession,
options connectionOptions: UIScene.ConnectionOptions)
optional func sceneWillEnterForeground(_ scene: UIScene)
optional func sceneDidBecomeActive(_ scene: UIScene)
optional func sceneWillResignActive(_ scene: UIScene)
optional func sceneDidEnterBackground(_ scene: UIScene)
optional func sceneDidDisconnect(_ scene: UIScene)
같은 메모리 공간을 공유함?
두 scene에 각각 숫자를 표시하는 UILabel이 있을 때 두 변수가 동일한 메모리 공간을 차지하는것을 의미하는게 아니라 SceneDelegate 객체들이 App 단위의 하나의 메모리에서 나타나고 사라지는 scene lifecycle에 따라 관리된다는 것을 뜻하는 것 같다!
하나의 Scene 인스턴스를 관리한다는 UIWindowScene 는 무엇일까
[AppDelegate] didFinishLaunchingWithOptions
[AppDelegate] configurationForSession
[SceneDelegate] willConnectToSession
[SceneDelegate] willResignActive
[SceneDelegate] didEnterBackground
[SceneDelegate] didDisconnect
[iOS] AppDelegate와 SceneDelegate
iOS) Scenes 알아보기
[iOS - SceneDelegate] iOS13이상 버전의 SceneDelegate