

iOS13버전 이후, AppDelegate의 역할은 SceneDelegate로 몇 가지 이전되면서, AppDelegate에 Session LifeCycle에 대한 역할이 추가되었다
Scene Session이 생성되거나 삭제될 때 AppDelegate에 알리는 두 메소드가 추가됐는데,
Scene Session은 앱에서 생성한 모든 scene의 정보를 관리한다
UISceneSession객체는scene의 공유의 런타임 인스턴스를 관리합니다. 사용자가 앱에 새로운scene을 추가하거나 프로그래밍적으로scene을 요청하면, 시스템은 그scene을 추적하는session객체를 생성합니다. 그session에는 고유한 식별자와scene의구성 세부사항(configuration details)가 들어있습니다. UIKit는session정보를 그 scene 자체의 생애(life time)동안 유지하고 app switcher에서 사용자가 그 scene을 클로징하는 것에 대응하여 그 session을 파괴합니다.session 객체는 직접 생성하지 않고 UIKit가 앱의 사용자 인터페이스에 대응하여 생성합니다. 또한 AppDelegate에서 사용하는 두 메서드를 통해서 UIKit에 새로운 scene과 session을 프로그래밍적 방식으로 생성할 수 있습니다
(UISceneSession - Apple Developer Document 참고)

application (_ : configurationForConnecting : options :)
//scene을 만들 때 구성 객체를 반환해야 합니다.
application (_ : didDiscardSceneSessions :)
//사용자가 app switcher를 통해 scene을 닫을 때 호출됩니다.