본문 바로가기
iOS/설명

[iOS] @main의 역할

by Sky Titan 2022. 10. 1.
728x90
 

[iOS] iOS 애플리케이션 실행 순서, UIApplicationMain, @main

C언어 기반의 프로그래밍 언어에서는 main이라는 함수가 앱의 시작이 된다. iOS 앱 또한 Objective-C 기반에서 돌아가기 때문에 앱은 main 함수에서 시작된다. iOS 애플리케이션 실행 순서 main 함수 실행

you9010.tistory.com

@main의 역할

  • 기존에 Objective-C 기반 프로젝트에서는 main.m 파일 안에main함수를 선언하여 실행함으로써 앱의 시작할 수 있는 entry point를 제공했다.
    • main함수는 UIApplicationMain 함수를 실행하고 UIApplicationMain함수는 UIApplication객체를 생성하고 UIApplicationDelegate를 인스턴스화시키고 UIApplication객체에 할당하는 작업을 한다.
  • Swift 기반 프로젝트에서는 main.m 파일이 없고 @main이라는 annotation을 사용해서 UIKit앱의 진입점을 지정해준다.
    • @main을 AppDelegate class에 선언하고, UIApplicationDelegate에 선언되어있는 정적 main함수를 실행하게 해준다.
    • Swift 5.3부터 @UIApplicationMain에서 @main으로 바뀜

Objective-C기반 프로젝트의 main.m 파일
Swift기반 프로젝트의 UIApplicationDelegate에 선언되어있는 정적 main함수

 

728x90

댓글