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
메세지를 보낸다.
iOS 앱의 중심에는 UIApplication 객체가 있다.
iOS 앱은 기본적으로 내부에 MVC 구조를 사용하여 앱의 Data와 비지니스 로직을 UI요소로부터 분리시켜줍니다.
그리고 그 중심에 UIApplication 객체가 Event Loop로 부터 이벤트를 계쏙 받아옵니다.
App Main Run Loop는 사용자 관련 이벤트를 받는 순서대로 처리합니다.
UIApplication 객체는 앱이 실행될 때 Main Run Loop를 실행하고, 이 Run Loop는 이벤트를 처리합니다. Main Thread에서 동작합니다.