사용자의 인터페이스 관리, 이벤트를 처리하는 것이 주 목적인 프레임워크
UIKit 프레임워크는 iOS 및 tvOS용 앱을 구축하는 데 필요한 핵심 객체를 제공한다. 이러한 핵심 객체들은 컨테츠를 화면에 표시하고, 컨텐츠와 상호작용하며 시스템과의 상호 작용을 관리하는 데 사용된다. 앱은 기본 동작을 위해 UIKit에 의존하며, UIKit은 사용자의 요구에 맞게 동작을 사용자 정의할 수 있는 많은 방법을 제공한다.
모든 UIKit 앱은 다음과 같은 resource들을 필요로 한다.
- App icons
- Launch screen 스토리보드
[App icons]
앱 아이콘은 홈 스크린 등에 보여지는 그림이다. 이 그림을 통해서 사용자는 다른 앱과 해당 앱을 구분할 수 있다. 이러한 앱 아이콘은 여러 곳(홈 스크린, 설정 등)에서 사용되거나 여러 디바이스에서 보여지므로 개발자는 다양한 사이즈의 앱 아이콘을 제공해야 한다.
[LaunchScreen.storyboard]
LaunchScreen.storyboard는 앱을 실행했을 때 나타나는 초기 화면을 의미한다. 사용자가 앱을 터치해서 실행시키면 시스템은 즉시 launch screen을 표시하여 사용자에게 앱이 실행중이라는 것을 알려준다. 또한 이러한 launch screen은 앱이 초기화 되는 동안 앱에 대한 커버 화면을 나타내는 역할을 한다. 앱의 실행이 준비되면 시스템은 launch screen을 숨기고 앱의 실제 인터페이스를 표시한다.
Required App Metadata
시스템은 앱 번들의 Info.plist 파일에서 앱의 구성 및 기능에 대한 정보를 가져온다. 새로운 프로젝트를 생성하면 프로젝트 템플릿과 함께 미리 구성된 Info.plist 파일을 제공하지만 특정 하드웨어에 의존하거나 특정 시스템 프레임워크를 사용하는 경우 파일을 수정해야 하는 경우가 있다.
예를 들어서 네비게이션 앱의 경우 GPS 하드웨어를 필요로 한다. 이러한 앱의 사용에 있어 특정 하드웨어의 사용을 필요로 하는 것들에 대한 정보를 Info.plist 파일을 통해 관리한다. 이를 제대로 관리하지 못하면 앱 스토어는 해당 앱이 설치 되지 못하도록 할 수 있으므로 이를 잘 관리해야 한다.
UIKit 앱의 코드 구조
UIKit은 시스템과 상호 작용하고 앱의 메인 이벤트 루프를 실행하고 컨텐츠를 화면에 표시하는 등 앱의 많은 핵심 객체를 제공한다. 앱을 구현하는 데 있어 어떤 객체를 수정할 지, 또 언제 수정할지를 아는 것은 중요하다.
UIKit 앱은 Model - View - Controller(MVC) 디자인 패턴으로 이루어져 있다.
- Model : 앱의 데이터와 비즈니스 로직을 관리
- View : 데이터의 시각적 표현 제공
- Controller : 모델과 뷰 오브젝트 간의 다리 역할을 하며 적절한 시간에 객체 간의 데이터를 이동시킨다.
UIKit은 앱의 컨트롤러 및 뷰 계층에 있는 대부분의 객체를 제공한다. 특히 일반적으로 컨텐츠를 화면에 표시하는 역할을 하는 UIView 클래스를 정의한다. 그리고 UIApplication 객체는 앱의 메인 이벤트 루프를 실행하고 앱의 전체 수명 주기를 관리한다.
References
'iOS > iOS' 카테고리의 다른 글
[iOS] @IBOutlet과 @IBAction (0) | 2021.11.22 |
---|---|
[iOS 기초] UIView (0) | 2021.11.17 |
[iOS 기초] Label, Button 연결 (1) | 2021.10.15 |
[iOS 기초 - 03] 처음 생성된 ViewController.swift의 내용 (0) | 2021.10.15 |
[iOS 기초 - 02] 프로젝트 구성과 스토리보드 (0) | 2021.10.15 |
댓글