Apple-CS-interview / iOS-CS-interview

7 stars 0 forks source link

앱이 시작할 때 main.c 에 있는 UIApplicationMain 함수에 의해서 생성되는 객체는 무엇인가? #42

Open Do-hyun-Kim opened 7 months ago

Do-hyun-Kim commented 7 months ago

앱이 시작할 때 main.c 에 있는 UIApplicationMain 함수에 의해서 생성되는 객체는 무엇인가?

UIApplication

Objc 앱 시작 시 main() -> UIApplicationMain 함수의 흐름 설명 feat 이미지

IMG_6943

UIApplicationMain

Swift 앱 시작 시 main() -> UIApplicationMain 함수의 흐름 설명

IMG_6943

📝 참고사이트

ronick-grammer commented 6 months ago

UIApplicationMain 함수란

UIApplication의 생성 과정

  1. 유저가 앱을 실행하면 시스템은 앱을 실행을 위한 초기화를 진행한다.
  2. Xcode 가 지원하는 main() 함수를 실행한다.
  3. main() 함수 내부에서UIApplication(_:_:_:_:)함수를 호출하여, UIApplication 객체를 생성한다.
  4. UIKit은 앱의 Info.plist 에 명시되어 있는 storyboard 를 찾아 로드한다. 앱이 스토리 보드를 사용하지 않는 다면 해당 단계는 건너뛴다.
  5. UIKit은 UIApplication 객체의 deleagte 를 통해 application(_:willFinishLaunchingWithOptions:) 델리게이트 메서드를 호출한다.
  6. 앱이 상태복원(state restoration: 앱이 종료되기 전 마지막 화면/상태를 복원하는 것)을 지원한다면 UIApplication 객체의 deleagte 를 통해 관련 메서드를 호출한다.
  7. UIKit은 UIApplication 객체의 deleagte 를 통해 application(_:didFinishLaunchingWithOptions:) 델리게이트 메서드를 호출한다.

📝 참고 사이트

vichye-1 commented 6 months ago

UIApplication 객체가 생성된다.

참고

Hminchae commented 6 months ago

앱이 시작할 때 main.c 에 있는 UIApplicationMain 함수에 의해서 생성되는 객체는?

-> UIApplication 싱글턴 객체가 생성됨

UIApplication 이란?