"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