앱이 foreground 또는 background에서의 시스템 알림에 응답하고 시스템 관련 이벤트를 처리하는 과정
foreground 일때 앱는 사용자의 주의를 끌기에 자원을 우선전으로 할당하고, background 앱은 적은 자원을 소모하며 티가 나지 않는데
ios 13 이상에서는 UISceneDelegate 객체를 통해 생명주기 이벤트가 scene-based로 동작하고
ios 12 이하에서는 UIApplicationDelegate 객체를 통해 생명주기 이벤트에 반응합니다.
실선은 시스템의 개입으로 이루어 지는것, 점선은 유저가 개입하여 이루어지는 것
sence을 통해서 사용자는 각 앱에 대해 여러 장면을 만들고 별도로 표시하거나 숨기는 식으로 상태에 있을 수 가 있는데
위 과정은 sence로 동작하는 과정인데 사용자가 시스템에 요청하면 UIKit가 unattached한 상태로 장면이 놓여지게 되는데 사용자가 요청한 foreground 장면은 빠르게 보여지고 시스템은 이벤트 처리를 위해 백그라운드에서도 장면을 시작할 수도 있습니다.
사용자가 앱의 UI를 끄면 연결된 장면들을 결국 suspended 상태로 이동시킵니다.
실선은 시스템의 개입으로 이루어 지는것, 점선은 유저가 개입하여 이루어지는 것
실행 후 시스템은 화면에 나타날지 여부에 따라 앱을 비활성 또는 백그라운드 상태로 전환합니다. foreground로 시작할 때 시스템은 앱을 자동으로 활성상태로 전환합니다. 그후 앱을 끝내기 전까지 활성상태와 백그라운드 상태로 수시로 변합니다.