Swift LifeCycleにSwiftUI App指定、Push許可、受信、UIApplicationDelegateAdaptor
LifeCycleにSwiftUI App指定時、AppDelegate.swiftはプロジェクトにない。
必要な場合に使用するのがUIApplicationDelegateAdaptor。
Example Push認証、受信
import SwiftUI @main struct TimeLimitMusicPlayerApp: App { @UIApplicationDelegateAdaptor private var appDelegate: AppDelegate var body: some Scene { WindowGroup { ContentView() } } } class AppDelegate: NSObject, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch. let center = UNUserNotificationCenter.current() center.requestAuthorization(options: [.alert, .sound, .badge]) { granted, error in if let error = error { // Handle the error here. print(error) } if granted == true { print("許可") center.delegate = self center.getNotificationSettings(completionHandler: { setting in print(setting) }) } else { print("非許可") } } return true } } extension AppDelegate: UNUserNotificationCenterDelegate { func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) { print(#function) } }