앱과 환경
라이프 사이클 이벤트와 앱 UI Scene을 관리하고 특성과 앱이 실행중인 환경에 대한 정보를 얻으세요.
원문 출처 https://developer.apple.com/documentation/uikit/app_and_environment
Overview
iOS 13부터는 유저가 앱 UI 인스턴스를 동시에 여러개 생성하고 관리할 수 있으며 앱 스위처를 사용하여 앱 간의 이동이 가능합니다. iOS뿐만 아니라 아이패드에서도 여러개의 앱 인스턴스를 나란히 표시할 수 있습니다. 각 UI 인스턴스는 별도의 컨텐츠를 보여주거나 같은 컨텐츠를 다른 방법으로 보여줍니다. 예를 들어 사용자는 하나의 캘린더 앱 인스턴스에서 하루 기준, 그리고 월 기준으로 표시하게 할 수 있습니다.
UIKit은 현재 환경에 대한 세부 정보들을 trait 콜렉션을 사용하여 주고받을 수 있습니다. 이 세부정보들은 기기 설정 조합, 인터페이스 설정, 사용자 설정 등을 반영합니다. 예를 들어 개발자는 현재 뷰, 또는 뷰 컨트롤러에 대해 다크모드가 활성화되었는지 확인하기 위해서 traits를 사용할 수 있습니다. 현재 환경에 따라서 UIView나 UIViewController의 컨텐츠를 커스텀하고자 한다면 해당 UIView, UIViewController 객체의 trait 콜렉션을 참조하세요. 다른 객체에서 trait 변동 노티피케이션을 받고 싶다면 UITraitEnvironment 프로토콜을 채택하세요.
주제
라이프 사이클
앱 라이프 사이클 관리하기 앱이 foreground, background 상태에 있을 때 시스템 노티피케이션에 대응하고 시스템과 관련된 중요한 이벤트를 처리하세요.
앱 실행에 대응하기 앱 데이터 구조를 초기화하고 실행시킬 준비를 하세요. 그리고 실행 중에 발생하는 시스템 요청에 대응하세요.
class UIApplication iOS에서 실행되는 앱의 제어와 조정의 중심점
protocol UIApplicationDelegate 앱 라이프 타임동안 발생하는 중요한 이벤트에 대해 응답하기 위해서 UIApplication 싱글턴 객체가 호출하는 메서드 집합
Scenes 여러 개의 앱 UI 인스턴스를 동시에 관리하고 리소스를 적절한 인스턴스에 분배하세요.
기기 환경
class UIDevice 현재 기기를 나타냅니다.
class UIStatusBarManager 상태바의 구성요소를 설명하는 객체
Adaptivity
Apple TV 디스플레이 모드 변경에 대응하기 기기의 스크린 영역 변동에 따라서 이미지와 리소스를 동적으로 바꾸세요
class UITraitCollection 수평 및 수직 사이즈 클래스, 디스플레이 스케일 및 사용자 인터페이스 종류(phone, pad, tv 등)와 같은 특성에 의해 정의되는 앱의 iOS 인터페이스 환경.
protocol UITraitEnvironment 앱에서 iOS 인터페이스 환경을 사용할 수 있게 해주는 메소드 집합
protocol UIAdaptivePresentationControllerDelegate Presentation 컨트롤러와 함께 앱의 trait 변화에 대응하는 방법을 결정하는 메서드 집합
protocol UIContentContainer 뷰 컨트롤러의 컨텐츠가 크기와 trait 변화에 적응할 수 있도록 돕는 메서드 집합
Guided Access
protocol UIGuidedAccessRestrictionDelegate
개발자가 Guided Access 기능에 커스텀 제한사항을 추가하는데 사용되는 메서드 집합
static func guidedAccessRestrictionState(forIdentifier: String) -> UIAccessibility.GuidedAccessRestrictionState
지정된 Guided access 제한에 대한 제한 상태를 반환합니다.
Architecture
앱 32비트 아키텍처에서 64비트 아키텍처로 업데이트 하기 앱이 차기 버전의 운영체제에서 의도한대로 동작할 수 있게 합니다.
func UIApplicationMain(Int32, UnsafeMutablePointer<UnsafeMutablePointer<Int8>?>, String?, String?) -> Int32 어플리케이션 객체와 delegate를 생성하고 이벤트 사이클을 설정합니다.
같이 보기
앱 구조
문서, 데이터와 클립보드 앱의 데이터를 구조화하고 클립보드에서 공유하세요
리소스 관리 메인 실행 파일 외부에 저장된 이미지, 문자열, 스토리 보드 및 nib 파일을 관리하세요
앱 확장
앱의 기본 기능을 시스템의 다른 부분으로 확장하세요
프로세스 간 통신 Handoff를 통해서 데이터를 공유하고 유니버설 링크로 앱의 컨텐츠를 지원하며 행동기반의 서비스를 사용자에게 보여주세요
Mac Catalyst 맥 기기에서 사용자가 실행할 수 있는 버전의 아이패드 앱을 만드세요.
Last updated