// // AppDelegate.swift // SportsTime // // Handles push notification registration and CloudKit subscription notifications // import UIKit import CloudKit import UserNotifications class AppDelegate: NSObject, UIApplicationDelegate { func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil ) -> Bool { // Register for remote notifications (required for CloudKit subscriptions) application.registerForRemoteNotifications() return true } func application( _ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data ) { print("📡 [Push] Registered for remote notifications") } func application( _ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error ) { print("📡 [Push] Failed to register: \(error.localizedDescription)") } func application( _ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void ) { // Handle CloudKit subscription notification Task { await CustomItemSubscriptionService.shared.handleRemoteNotification(userInfo: userInfo) completionHandler(.newData) } } }