Xcode에서 프로젝트를 생성하고 보면
자동으로 추가되어있는 파일 AppDelegate.swift, SceneDelegate
여태 정확하게 인지하지 못하고 여기 저기 설명에 적힌대로 코드를 적다보니
도대체 이녀석들이 무엇을 하는 녀석들일까 고민이 들더라구요
그래서!
이녀석들에 대해서 알아 보려합니다.
iOS13 이후 AppDelegate에서 분리되어 AppDelegate와 SceneDelegate 두개의 Delegate가 생겼어요.
애플리케이션에 프로세스 수준 이벤트를 알리는 것
애플리케이션에 UI 상태를 알리는 것
iOS13 이전 버전의 애플리케이션에는 하나의 프로세스와 일치하는 하나의 인터페이스 인스턴스가 있었기 때문에 위 두개의 역할을 하나의 AppDelegate에서 수행해도 문제가 없었어요.
그러나 iOS13 버전 이후에는 애플리케이션은 하나의 프로세스만 공유하지만 여러 사용자 인터페이스 인스턴스 또는 장면 세션을 가질 수 있기 때문에 Appdelegate의 책임이 약간 변경되었어요.
프로세스 이벤트 및 수명 주기를 AppDelegate가 담당하지만
-> 이제는 UI수명 주기와 관련된 어떤 것도 AppDelegate는 책임지지 않아요.
여기 까지 이전의 AppDelegate에서 AppDelegate 와 SceneDelegate가 나눠진 얘기를 해봤는데
다음은 AppDelegate와 SceneDelegate를 구체적으로 알아봅시다.