[swift] 앱 시작 시에 호출되는 메서드

iOS 앱을 개발할 때, 앱이 시작될 때 실행되는 특정한 메서드를 구현해야 합니다. 이 메서드를 사용하여 앱이 로드되고 초기화되는 과정을 처리할 수 있습니다. 이번 포스팅에서는 Swift 언어로 앱 시작 시 호출되는 메서드에 대해 알아보겠습니다.

AppDelegate.swift 파일

앱 시작 시 호출되는 메서드는 AppDelegate.swift 파일에 구현됩니다. AppDelegate는 앱의 생명주기를 관리하는 클래스입니다. @UIApplicationMain 어노테이션이 있는 클래스이며, 앱의 중심적인 역할을 담당합니다.

didFinishLaunchingWithOptions 메서드

앱이 시작될 때 호출되는 주요 메서드는 didFinishLaunchingWithOptions입니다. 이 메서드는 앱이 처음 실행될 때 호출되며, 앱의 초기화 및 설정 작업을 수행하는 데 사용됩니다. 이 메서드는 앱의 델리게이트인 AppDelegate 클래스 내부에 정의되어야 합니다.

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    // 앱 초기화 및 설정 작업 수행
    return true
}

launchOptions

didFinishLaunchingWithOptions 메서드의 두 번째 파라미터인 launchOptions는 앱이 런칭될 때 전달되는 옵션들을 포함한 딕셔너리입니다. 이를 사용하여 앱이 특정 상황에서 실행된 경우에 대한 처리를 할 수 있습니다. 예를 들어, 푸시 알림을 통해 앱이 실행된 경우 또는 URL scheme을 통해 앱이 실행된 경우 등의 상황에서 이 옵션을 활용할 수 있습니다.

반환값

didFinishLaunchingWithOptions 메서드는 Bool 값을 반환해야 합니다. 만약 true를 반환하면 앱이 정상적으로 시작되었음을 의미하며, false를 반환하면 앱이 시작되지 않음을 의미합니다.

예제 코드

import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        // 앱 초기화 및 설정 작업 수행
        
        // 예제: 앱 실행 시 화면에 로그 출력
        print("앱이 시작되었습니다.")
        
        return true
    }

    //...
}

이제 앱이 시작될 때마다 “앱이 시작되었습니다.”라는 로그가 출력됩니다.

참고 자료