사과
  • 애플 개발자 문서 한글 번역
  • App Frameworks
    • Foundation
      • 숫자, 데이터와 기본값
      • 문자열과 텍스트
      • 컬렉션
      • 날짜와 시간
      • 데이터 포맷
      • 작업 관리
        • Operation
        • OperationQueue
        • Timer
      • 리소스
        • Bundle
      • 파일 시스템
        • FileManager
      • Notification
        • NSKeyValueObserving
      • URL 로딩 시스템
        • 웹사이트 데이터를 메모리에 저장하기
        • URLSession
          • URLSessionConfiguration
            • urlCache
            • requestCachePolicy
          • configuration
        • URLSessionTask
        • URLRequest
        • URLResponse
        • HTTPURLResponse
        • 캐시 데이터에 접근하기
        • CachedURLResponse
        • URLCache
      • Object Runtime
        • NSValue
    • UIKit
      • UIKit으로 앱 개발
      • 앱과 환경
        • 앱 라이프 사이클 관리하기
        • 앱 실행에 대응하기
        • UIApplication
      • 문서, 데이터와 클립보드
      • Mac Catalyst
        • iPad 앱을 Mac 버전으로 만들기
        • 아이패드 앱의 맥 최적화
      • 뷰와 컨트롤
        • UIView
        • Table Views
          • UITableView
          • UITableViewCell
          • UIRefreshControl
        • UIScrollView
      • View Controllers
        • UIViewController
        • UITableViewController
        • UISearchController
      • 애니메이션과 햅틱
        • 프로퍼티 기반 애니메이션
          • UIViewPropertyAnimator
        • View controller 전환
      • 터치, 누르기, 제스처
        • UIResponder
        • UIKit 제스처 처리
        • 다중 제스처 인식기 조정
        • UILongPressGestureRecognizer
        • UIPanGestureRecognizer
          • maximumNumberOfTouches
          • minimunNumberOfTouches
          • translation(in:)
          • setTranslation(_:in:)
          • velocity(in:)
        • UIGestureRecognizer
    • Swift
      • 스위프트 표준 라이브러리
        • 메모리 직접 관리
          • 포인터 파라미터를 사용하는 함수 호출
          • UnsafePointer
          • UnsafeMutableRawBufferPointer
    • SwiftUI
      • 뷰와 컨트롤
        • View
        • Text
        • TextField
      • 뷰 레이아웃과 표현
      • 그리기와 애니메이션
      • 프레임워크 통합
      • 상태와 데이터 흐름
  • Graphics and Games
    • Core Animation
      • CALayer
      • CAAction
      • CAShapeLayer
      • CADisplayLink
    • Core Graphics
      • CGFloat
      • CGPath
  • App Services
    • Combine
    • WebKit
      • WKWebView
  • Media
    • AVFoundation
      • 시스템 오디오 상호작용
        • AVAudioSession
          • AVAudioSession.Category
            • ambient
            • multiRoute
            • playAndRecord
            • playback
            • record
            • soloAmbient
          • AVAudioSession.Mode
      • AVFoundation 자료형
  • Documentation Archive
    • 번들 프로그래밍 가이드
      • 번들에 대해
      • 번들 구조
    • Key-Value Observing 프로그래밍 가이드
    • Threading 프로그래밍 가이드
      • About Threaded Programming
      • Thread Management
  • ETC
    • Not Found
Powered by GitBook
On this page
  • Overview
  • 주제
  • 라이프 사이클
  • 기기 환경
  • Adaptivity
  • Guided Access
  • Architecture
  • 같이 보기
  • 앱 구조
  1. App Frameworks
  2. UIKit

앱과 환경

라이프 사이클 이벤트와 앱 UI Scene을 관리하고 특성과 앱이 실행중인 환경에 대한 정보를 얻으세요.

PreviousUIKit으로 앱 개발Next앱 라이프 사이클 관리하기

Last updated 4 years ago

원문 출처

Overview

iOS 13부터는 유저가 앱 UI 인스턴스를 동시에 여러개 생성하고 관리할 수 있으며 앱 스위처를 사용하여 앱 간의 이동이 가능합니다. iOS뿐만 아니라 아이패드에서도 여러개의 앱 인스턴스를 나란히 표시할 수 있습니다. 각 UI 인스턴스는 별도의 컨텐츠를 보여주거나 같은 컨텐츠를 다른 방법으로 보여줍니다. 예를 들어 사용자는 하나의 캘린더 앱 인스턴스에서 하루 기준, 그리고 월 기준으로 표시하게 할 수 있습니다.

UIKit은 현재 환경에 대한 세부 정보들을 trait 콜렉션을 사용하여 주고받을 수 있습니다. 이 세부정보들은 기기 설정 조합, 인터페이스 설정, 사용자 설정 등을 반영합니다. 예를 들어 개발자는 현재 뷰, 또는 뷰 컨트롤러에 대해 다크모드가 활성화되었는지 확인하기 위해서 traits를 사용할 수 있습니다. 현재 환경에 따라서 나 의 컨텐츠를 커스텀하고자 한다면 해당 UIView, UIViewController 객체의 trait 콜렉션을 참조하세요. 다른 객체에서 trait 변동 노티피케이션을 받고 싶다면 프로토콜을 채택하세요.

주제

라이프 사이클

  • 앱이 foreground, background 상태에 있을 때 시스템 노티피케이션에 대응하고 시스템과 관련된 중요한 이벤트를 처리하세요.

  • 앱 데이터 구조를 초기화하고 실행시킬 준비를 하세요. 그리고 실행 중에 발생하는 시스템 요청에 대응하세요.

  • class 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 맥 기기에서 사용자가 실행할 수 있는 버전의 아이패드 앱을 만드세요.

앱의 데이터를 구조화하고 클립보드에서 공유하세요

https://developer.apple.com/documentation/uikit/app_and_environment
UIView
UIViewController
UITraitEnvironment
앱 라이프 사이클 관리하기
앱 실행에 대응하기
UIApplication
문서, 데이터와 클립보드