pushdeer/ios/Prototype_version/PushDeer/AppDelegate.swift
2021-12-23 00:19:55 +08:00

50 lines
1.4 KiB
Swift

//
// 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
}