// // AppDelegate.swift // PushDeer // // Created by Easy on 2021/12/3. // import Foundation import SwiftUI import UserNotifications class AppDelegate: NSObject, UIApplicationDelegate { static var device_token: String = "" func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool { let center = UNUserNotificationCenter.current() center.requestAuthorization(options:[.badge, .alert, .sound]) { (granted, error) in // Enable or disable features based on authorization. } application.registerForRemoteNotifications() print( "loaded" ) return true } func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) { let deviceTokenString = deviceToken.reduce("", {$0 + String(format: "%02X", $1)}) AppDelegate.device_token = deviceTokenString } #if !APPCLIP func application( _ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void ) { guard let aps = userInfo["aps"] as? [String: AnyObject] else { completionHandler(.failed) return } dump(aps) // AppState().loadMessages() } #endif }