can I do Single user login in SwiftUI?
My postman code is like this
{ "to": "Token", "apns-priority": 5, "content_available":true, "data": { "category": "100" } }

My SwiftUI Code
@main struct UpRignt: App { @UIApplicationDelegateAdaptor private var appDelegate: AppDelegate var body: some Scene { WindowGroup { ContentView() } } } class AppDelegate: NSObject, UIApplicationDelegate { let gcmMessageIDKey = "gcm.message_id" func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool { FirebaseApp.configure() if #available(iOS 10.0, *) { // For iOS 10 display notification (sent via APNS) UNUserNotificationCenter.current().delegate = self let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound] UNUserNotificationCenter.current().requestAuthorization( options: authOptions, completionHandler: {_, _ in }) } else { let settings: UIUserNotificationSettings = UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil) application.registerUserNotificationSettings(settings) } application.registerForRemoteNotifications() Messaging.messaging().delegate = self print("Documents Directory: ", FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).last ?? "Not Found!") return true } func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) { if let messageID = userInfo[gcmMessageIDKey] { print("Message ID: \(messageID)") } print(userInfo) let category = userInfo[AnyHashable("gcm.notification.category")] as? String ?? "" if category == "100"{ logout() } completionHandler(UIBackgroundFetchResult.newData) } } extension AppDelegate: MessagingDelegate { func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String?) { let deviceToken:[String: String] = ["token": fcmToken ?? ""] print(deviceToken) // This token can be used for testing notifications on FCM let newFcmToken = deviceToken["token"] print(newFcmToken ?? "") UserDefaults.standard.set(newFcmToken, forKey: "fcmdeviceToken") } } @available(iOS 10, *) extension AppDelegate : UNUserNotificationCenterDelegate { // Receive displayed notifications for iOS 10 devices. func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) { let userInfo = notification.request.content.userInfo if let messageID = userInfo[gcmMessageIDKey] { print("Message ID: \(messageID)") } print(userInfo) let category = userInfo[AnyHashable("gcm.notification.category")] as? String ?? "" if category == "100"{ logout() } // Change this to your preferred presentation option completionHandler([[.banner, .badge, .sound]]) } func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) { } func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) { } func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) { let userInfo = response.notification.request.content.userInfo if let messageID = userInfo[gcmMessageIDKey] { print("Message ID from userNotificationCenter didReceive: \(messageID)") } print(userInfo) let category = userInfo[AnyHashable("gcm.notification.category")] as? String ?? "" if category == "100"{ logout() } completionHandler() } } I am able to received notification when I replace data to notification. But I want to received notification without alerting user. With this code it was possible in Swift. I am not able to do so in SwiftUI I don't know why. Can anybody suggest me what I am doing wrong?
Источник: https://stackoverflow.com/questions/781 ... tification
Мобильная версия