[iOS] Application LifeCycle
Application, AppDelegate, ViewController, View의 lifecycle에 대해 더 자세히 이해하고 싶어서 포스트를 작성함
앱 실행 순서
- 사용자 또는 시스템이 앱을 실행하거나 시스템이 앱을 prewarm함
- 시스템은 Xcode가 제공하는
main()
함수를 실행함 - main() 함수는 UIApplicationMain(::::)을 호출하여 UIApplication, AppDelegate 인스턴스를 생성
- UIKit은 Info.plist 파일 혹은 설정에서 지정된 default 스토리보드를 load
- UIKit은 AppDelegate의 application(_:willFinishLaunchingWithOptios:)를 호출
- UIKit은 state 복원을 실행하여 AppDelegate와 앱의 ViewController에서 추가 메소드를 실행
- UIKit은 AppDelegate의 application(_:didFinishLaunchingWithOptios:)를 호출
해당 순서의 앱 실행 시퀀스가 완료되면 시스템은 AppDelegate 혹은 SceneDelegate를 사용해 UI를 표시하고 lifecycle을 관리
prewarm은 iOS15 이상의 특정 기기에 따라 사용자가 앱을 사용하기 위해 기다리는 시간을 줄이는 기술
스토리보드를 사용하지 않는 프로젝트는 4 단계를 skip
댓글남기기