https://developer.apple.com/documentation/uikit/app_and_environment/multitasking_on_ipad
"Implement multitasking APIs to seamlessly integrate your app with iPadOS."
앱을 iPadOS에 원활하게 통합시키기 위해 멀티태스킹 API를 구현합니다.
앱이 아이패드의 포어그라운드에서 실행되는 동안 다른 앱도 함께 실행되고 있을 수 있습니다. 앱이 실행되고 있는 환경을 인식하는 것과 멀티태스킹 API를 채택하는 것은 iPadOS에 앱을 통합시키는 것의 필수적인 부분입니다.
사용자를 위해 좋은 멀티태스킹 경험을 생성하는 첫 번째 단계는 앱이 다른 윈도우 크기에서도 사용할 수 있도록 하는 것입니다. Human Interface Guidelines의 Adaptivity and Layout을 읽는 것부터 시작하시기 바랍니다. 또한, 앱이 전체 스크린으로 실행되지 않도록 신경써야 합니다. 하지만 슬라이드 오버 혹은 스플릿 뷰를 통해 더 작은 윈도우에서는 작동할 수 있도록 해야 합니다. UITraitCollection
을 사용해서 앱의 환경을 찾고 이를 오토 레이아웃 사용해 적응시켜야 합니다. 혹은 뷰 컨트롤러 혹은 뷰에서 traitCollectionDidChange(_:)
를 오버라이드 하는 것을 통해 구현합니다.
Adaptivity and Layout
https://developer.apple.com/design/human-interface-guidelines/ios/visual-design/adaptivity-and-layout/
iPad 13 및 이후 버전에서 앱의 UI에서 여러 윈도우가 동시성 성격을 갖고 실행될 수 있도록 선택할 수 있으며, UIApplicationSupportsMultipleScenes
속성 리스트 키를 설정함으로써 구현할 수 있습니다. 씬을 구현하고, UISceneDelegate
가 어떻게 시스템 멀티태스킹 이벤트와 상호작용하는지의 오버뷰에 대해 Managing Your App's Life Cycle을 읽어보시기 바랍니다.
수평 및 수직 사이즈 클래스, 디스플레이 스케일, UI idiom과 같은 특성을 포함하고 있는, 앱을 위한 iOS 인터페이스 환경입니다.
https://developer.apple.com/documentation/uikit/uitraitcollection
https://velog.io/@panther222128/UITraitCollection
앱의 여러 UI 인스턴스들을 동시에 관리하고, 리소스들을 UI의 적합한 인스턴스로 보냅니다.
https://developer.apple.com/documentation/uikit/app_and_environment/scenes
https://velog.io/@panther222128/Scenes