Tunko Development Diary

[iOS][SwfitUI] SwiftUI life cycle에서 AppDelegate사용하기 본문

Development/iOS 개발

[iOS][SwfitUI] SwiftUI life cycle에서 AppDelegate사용하기

Tunko 2021. 2. 14. 16:39

Fierbase 등 프레임워크를 초기화해야 되는데 AppDelegate에서밖에 할 수 없는 상황이 나온다.

이때는 아래 코드로 처리하면 된다.

import SwiftUI

class AppDelegate: NSObject, UIApplicationDelegate {
  func application(_ application: UIApplication,
                   didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
    print("application is starting up. ApplicationDelegate didFinishLaunchingWithOptions.")
    return true
  }
}

@main
struct TestApp: App { 
    var body: some Scene { 
        WindowGroup {
            ContentView() 
        } 
    }
} 

이 방법을 사용하는 이유는 일반적인 이니셜라이저로 초기화가 안되기 때문이다.
아래 코드는 불가능한 방법이다.

@main
struct TestApp: App { 
    init() {
    FirebaseApp.configure() // 불가능
  }
    var body: some Scene { 
        WindowGroup {
            ContentView() 
        } 
    }
} 

참조 : stackoverflow

반응형
Comments