mirror of
https://github.com/easychen/pushdeer.git
synced 2024-07-06 22:38:21 +08:00
50 lines
1.4 KiB
Swift
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
|
|
|
|
|
|
|
|
}
|