iOS에서 앱(APP)의 실행/작동 원리 과정

썹스·2022년 11월 27일
0

iOS에서 앱(APP)의 실행/작동 원리 과정

iOS 환경에서 앱(APP)의 실행/작동 원리 과정을 간단하게 표현하자면 아래와 같습니다.

📌 앱(APP)의 실행/시작 과정

(iOS 13.0 이전 작동원리)

1️⃣ 특정 앱(APP) 아이콘 터치

2️⃣ main() 함수 실행

3️⃣ mina() 함수에서 UIApplicationMain() 함수를 호출하여 UIApplication 객체를 생성

4️⃣ UIApplication 객체는 앱(APP)의 화면(Load main UI file)을 준비

5️⃣ First initialization: 화면 준비 후 앱(APP)을 초기화하여 실행을 준비(application(_:willFinishLaunchingWithOptions:) 메서드 호출)

6️⃣ 앱(APP)의 초기화 준비가 완료되면 해당 앱(APP)의 UI를 복원

7️⃣ Final initialization: 앱(APP)의 초기화 및 UI 복원 작업이 끝나면 마지막 초기화 작업을 진행 (application(_:didFinishLaunchingWithOptions:) 메서드 호출)

8️⃣ 앱(APP) 실행

9️⃣ 앱(APP)이 실행되면, 앱(APP)에서 발생하는 다양한 이벤트를 관리하는 무한 반복문(RunLoop)이 생성 및 작동


📌 앱(APP)이 작동중 발생하는 과정

앱(APP)을 사용하게 되면 다양한 제스처(터치, 확대, 축소 등...)가 발생하게 되는데 이러한 각각의 제스처를 이벤트(Event)라 부릅니다.

1️⃣ 앱(APP)을 사용하면서 각각의 이벤트들이 쌓이게 되고, 쌓인 이벤트를 처리 및 관리하기 위해 "메인 무한 반복문(RunLoop)"으로 이동하게 됩니다.

이러한 메인 무한 반복문(RunLoop)을 "이벤트 핸들링 객체"라 부릅니다.

2️⃣ 이동한 이벤트는 메인 무한 반복문(RunLoop)을 통해 앱 객체(Application Object)에게 전달되며, 앱 객체는 해당 이벤트에 맞는 함수를 찾아 작동합니다.

3️⃣ 그 후 이벤트에 맞는 함수의 작동 결과를 화면에 출력하게 되며, 이러한 과정을 업데이트 사이클(Update Cycle)이라고 부릅니다.

✋ 업데이트 사이클(Update Cycle)

  • 이벤트 결과에 맞는 화면을 그림 그리고, 그린 화면을 출력하는 과정을 업데이트 사이클(Update Cycle)이라 부릅니다.

  • 그림을 그리는 역할은 1번 쓰레드(Main Thread)가 담당하고 있습니다.

  • 업데이트 사이클(Update Cycle) 과정은 작업(이벤트)이 있을 때만 실행됩니다.

📌 요약 정리

1️⃣ 앱(APP)을 시작하게 되면 해당 앱(APP)의 이벤트 처리를 담당하는 메인 런루프(무한 반복문: RunLoop)가 생성됩니다.

2️⃣ 다양한 이벤트를 처리하는 메인 런루프는 각각의 이벤트에 맞는 함수를 선택하여 실행합니다.

3️⃣ 이벤트를 처리한 함수의 실행 결과를 화면에 출력합니다. (Update Cycle)



Reference

iOS App Programming Guide
About the app launch sequence

profile
응애 나 코린이(비트코인X 코딩O)

0개의 댓글