https://developer.apple.com/documentation/uikit#//apple_ref/doc/uid/TP40007072
"Construct and manage a graphical, event-driven user interface for your iOS or tvOS app."
iOS, tvOS 앱의 시각적 UI와 이벤트 관련 UI를 만들고 다루는 프레임워크입니다.
UIKit은 iOS, tvOS 앱을 위한 인프라를 제공하는 프레임워크입니다. 인터페이스 작성을 위한 윈도우와 뷰 아키텍처를 제공하며, 멀티 터치와 기타 유형의 입력을 전달하는 이벤트를 다루는 것도 제공합니다. 그리고 사용자, 시스템, 앱 사이의 상호작용을 관리하는 데 필요한 메인 런 루프도 제공합니다. 애니메이션, 문서, 드로잉, 프린팅, 기기 정보, 텍스트 관리와 텍스트 표시, 검색 지원, 접근성 지원, 앱 확장 지원, 리소스 관리 같은 기타 지원사항도 이 프레임워크에서 제공하고 있습니다.
IMPORTANT
앱의 메인 스레드 혹은 메인 디스패치 큐에서만UIKit을 사용해야 합니다. 이런 제약은UIResponder로부터 비롯된 클래스 혹은 앱의 사용자 인터페이스를 생성하는 데 연관이 있는 클래스에 반드시 적용되어야 합니다.
iOS와 tvOS 앱을 위해 UIKit과 Xcode가 제공하는 기본적인 지원사항에 대해 배울 수 있는 글입니다.
https://developer.apple.com/documentation/uikit/about_app_development_with_uikit
https://velog.io/@panther222128/About-App-Development-with-UIKit
개인 데이터의 보안을 보장하고, 데이터가 어떻게 사용될 것인지에 대한 사용자 preference를 존중해줄 수 있도록 합니다.
https://developer.apple.com/documentation/uikit/protecting_the_user_s_privacy
https://velog.io/@panther222128/Protecting-the-Users-Privacy
UIKit은 시스템에 대한 앱의 상호작용을 관리하고, 앱의 데이터와 리소스를 관리하기 위한 클래스들을 제공합니다.
생명주기 이벤트와 앱의 UI 씬을 관리합니다. 그리고 앱이 작동하는 특성과 환경에 대한 정보를 가져옵니다.
https://developer.apple.com/documentation/uikit/app_and_environment
https://velog.io/@panther222128/App-and-Environment-2tu9h2th
앱의 데이터를 조직화하고 해당 데이터를 페이스트보드에 공유합니다.
https://developer.apple.com/documentation/uikit/documents_data_and_pasteboard
https://velog.io/@panther222128/Documents-Data-and-Pasteboard
앱의 인터페이스 구현을 위해 사용하는 이미지, 스트링, 스토리보드, nib 파일을 관리합니다.
https://developer.apple.com/documentation/uikit/resource_management
https://velog.io/@panther222128/Resource-Management
시스템의 다른 부분으로 앱의 기본적인 기능을 확장시킵니다.
https://developer.apple.com/documentation/uikit/app_extensions
https://velog.io/@panther222128/App-Extensions
사용자에게 활동 기반 서비스를 표시합니다.
https://developer.apple.com/documentation/uikit/interprocess_communication
https://velog.io/@panther222128/Interprocess-Communication
사용자가 맥 기기에서 실행할 수 있는 아이패드 앱 버전을 생성합니다.
https://developer.apple.com/documentation/uikit/mac_catalyst
https://velog.io/@panther222128/Mac-Catalyst
제스쳐 리코그나이저에 있는 앱의 이벤트 처리 로직을 캡슐화함으로써 앱에서 해당 코드를 재사용할 수 있게 합니다.
https://developer.apple.com/documentation/uikit/touches_presses_and_gestures
https://velog.io/@panther222128/Touches-Presses-and-Gestures
드래그 앤 드롭을 사용해 앱 컨텐트를 직접 조작하는 것을 지원합니다.
https://developer.apple.com/documentation/appkit/drag_and_drop
https://velog.io/@panther222128/Drag-and-Drop-c5i2jzu8
커스텀 컨트롤 및 뷰에서 포인터 상호작용을 지원합니다.
https://developer.apple.com/documentation/uikit/pointer_interactions
https://velog.io/@panther222128/Pointer-Interactions
애플 펜슬을 사용해 더블 탭 사용자 상호작용을 처리합니다.
https://developer.apple.com/documentation/uikit/pencil_interactions
https://velog.io/@panther222128/Pencil-Interactions
원격, 게임 컨트롤러, 키보드를 사용해 UIKit 앱의 인터페이스를 탐색합니다.
https://developer.apple.com/documentation/uikit/focus-based_navigation
https://velog.io/@panther222128/Focus-Based-Navigation
메뉴 시스템, contextual 메뉴, 홈 스크린 퀵 액션, 키보드 단축키를 사용해 앱과의 상호작용을 단순화합니다.
https://developer.apple.com/documentation/uikit/menus_and_shortcuts
https://velog.io/@panther222128/Focus-Based-Navigation
애플 기기를 사용하는 모든 사람을 위해 앱을 접근성 있도록 만듭니다.
https://developer.apple.com/documentation/accessibility
https://velog.io/@panther222128/Accessibility
뷰는 스크린에 컨텐트 표시를 돕고 사용자 상호작용을 기능하게 합니다. 뷰 컨트롤러는 뷰와 인터페이스의 구조 관리를 돕습니다.
컨텐트를 스크린에 나타내고 해당 컨텐트에 허용된 상호작용을 정의합니다.
https://developer.apple.com/documentation/uikit/views_and_controls
https://velog.io/@panther222128/Views-and-Controls