[iOS] App의 실행 (App Life Cycle + App Structure)

Hyunndy·2023년 2월 20일
0

iOS-App-Structure

목록 보기
6/8

🐸

iOS App의 5가지 State와 그와 관련된 AppDelegate 함수를 알아보았는데요,
이번에는 좀 더 전반적인 App의 실행 (App Life Cycle + App Structure)를 살펴보겠습니다.


앱의 실행과정

앱이 처음 launch되면
1. main 함수가 실행되어 UIApplication 객체 생성
2. nib 파일을 사용하거나 Info.plist 파일을 읽어들여 파일에 기록된 정보를 참고해 그 외에 필요한 데이터를 로드
3. App Delegate 객체를 만들고 UIApplcation 객체와 연결하고 App Main Loop를 만드는 등 실행에 필요한 준비를 한다.
4. 실행을 앞두고 app Delegate에게 application:didFinishLaunchingWithOptions 메세지를 보낸다.

App Structure


iOS 앱의 중심에는 UIApplication 객체가 있다.
iOS 앱은 기본적으로 내부에 MVC 구조를 사용하여 앱의 Data와 비지니스 로직을 UI요소로부터 분리시켜줍니다.
그리고 그 중심에 UIApplication 객체가 Event Loop로 부터 이벤트를 계쏙 받아옵니다.

The Main Run Loop

App Main Run Loop는 사용자 관련 이벤트를 받는 순서대로 처리합니다.
UIApplication 객체는 앱이 실행될 때 Main Run Loop를 실행하고, 이 Run Loop는 이벤트를 처리합니다. Main Thread에서 동작합니다.

  1. 사용자가 디바이스에 특정 액션을 취하면
  2. 그 액션에 해당하는 이벤트가 Operating System에 의해 생성되어 UIKit에서 생성한 Port를 통해 앱에 전달 됩니다.
  3. 전달된 Event들은 Event Queue에 보관되고 하나씩 Main Run Loop로 전달되어 처리됩니다.

App의 launch -> Inactive -> active

App의 active -> Inactive -> background

profile
https://hyunndyblog.tistory.com/163 티스토리에서 이사 중

0개의 댓글