"Configure your app to appear onscreen."
화면에 나타날 수 있도록 앱을 설정합니다.
앱의 UI를 화면에 나타나도록 준비하기 위해 포어그라운드 전환을 사용하시기 바랍니다. 포어그라운드로의 앱 전환은 보통 사용자 액션에 대한 응답입니다. 예를 들어 사용자가 앱의 아이콘을 탭하면 시스템은 앱을 launch 하고, 포어그라운드로 가져옵니다. 사용자 요청을 처리하는 데 필요한 앱의 UI 업데이트, 리소스 가져오기, 서비스 시작을 위해 포어그라운드 전환을 사용하시기 바랍니다.
모든 상태 전환은 UIKit이 적합한 딜리게이트 객체에 노티피케이션을 보내는 결과를 나타나게 합니다.
UISceneDelegate 객체입니다.UIApplicationDelegate 객체입니다.두 가지 딜리게이트 객체 타입 모두를 지원할 수 있지만, UIKit은 씬 딜리게이트 객체가 사용 가능한 경우 씬 딜리게이트를 사용합니다. UIKit은 포어그라운드에 진입하는 특정 씬과 관련이 있는 씬 딜리게이트에 대해서만 내용을 전달합니다. 씬 지원 설정에 대한 더 많은 정보는 Specifying the Scenes Your App Supports를 살펴보시기 바랍니다.
Specifying the Scenes Your App Supports
https://developer.apple.com/documentation/uikit/app_and_environment/scenes/specifying_the_scenes_your_app_supports
launch 시점에 시스템은 포어그라운드 전환 전에 비활성화 상태에서 앱을 시작합니다. 앱의 launch-time 메소드를 사용해서 해당 시점에 필요한 모든 작업을 수행할 수 있도록 하시기 바랍니다. 백그라운드에 있는 앱의 경우 UIKit은 아래 메소드 중 한 가지를 호출함으로써 앱을 비활성화 상태로 이동시킵니다.
sceneWillEnterForeground(_:) 메소드입니다.applicationWillEnterForeground(_:) 메소드입니다.백그라운드로부터 포어그라운드로 전환할 떄, 디스크로부터 리소스를 로드하고 네트워크로부터 데이터를 가져오기 위해 이러한 메소드를 사용하시기 바랍니다.
launch 타임에 앱을 준비하는 방법에 대한 더 많은 정보는 Responding to the Launch of Your App을 살펴보시기 바랍니다.
Responding to the Launch of Your App
https://developer.apple.com/documentation/uikit/app_and_environment/responding_to_the_launch_of_your_app
https://velog.io/@panther222128/Responding-to-the-Lauch-of-Your-App
시스탬은 앱의 UI를 표시하기 전에 앱을 즉시 활성화 상태로 이동시킵니다. 활성화는 앱의 UI 및 런타임 동작을 설정하기에 좋은 시점입니다.
아래 메소드 중 하나에 설정 코드를 넣으시기 바랍니다.
sceneDidBecomeActive(_:) 메소드입니다.applicationDidBecomeActive(_:) 메소드입니다.사용자에게 표시하기 전에 활성화는 UI에서의 터치 완료를 넣기에 좋은 시점입니다. 활성화 메소드를 막을 수 있는 코드는 실행하지 않아야 합니다. 대신 미리 필요한 모든 것을 갖고 있음을 확실히 해야 합니다. 예를 들어 앱 외부에서 데이터가 자주 변경되는 경우 앱이 포어그라운드로 돌아오기 전에 네트워크로부터 업데이트를 가져올 수 있도록 백그라운드 작업을 사용하시기 바랍니다. 그렇지 않은 경우라면 변경사항을 비동기로 가져오는 동안 기존 데이터가 표시될 준비를 할 수 있도록 해야 합니다.
활성화 메소드가 반환되면, UIKit은 시각화하려고 만들었었던 모든 윈도우를 보여줍니다. 또한, 뷰가 나타날 준비가 되었음을 관련 뷰 컨트롤러에게 알려줍니다. 뷰 컨트롤러의 viewWillAppear(_:)를 사용해서 인터페이스의 모든 마지막 업데이트까지 수행하시기 바랍니다. 예를 들어 아래와 같습니다.
다른 뷰 컨트롤러를 보여주는 것을 시도하거나 UI에 주요한 변경사항을 만들지 않아야 합니다. 뷰 컨트롤러가 화면에 나타나기까지 인터페이스는 표시될 준비가 되어야 합니다.
일시정지 상태에서 벗어날 때 노티피케이션에 응답합니다.
https://developer.apple.com/documentation/uikit/app_and_environment/scenes/preparing_your_ui_to_run_in_the_foreground/processing_queued_notifications
https://velog.io/@panther222128/Processing-Queued-Notifications
앱이 일시정지 상태가 되도록 준비합니다.
https://developer.apple.com/documentation/uikit/app_and_environment/scenes/preparing_your_ui_to_run_in_the_background
https://velog.io/@panther222128/Preparing-Your-UI-to-Run-in-the-Background