как получить push-уведомление, когда приложение открыто? - PullRequest
0 голосов
/ 11 июня 2019

Я работаю над Swift 4.2. Я получаю уведомления, когда приложение работает в фоновом режиме, но не получаю, когда приложение активно.

func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
    completionHandler([.alert, .badge, .sound])
}

Хотелось бы узнать, как получить уведомление при открытом приложении

Ответы [ 2 ]

0 голосов
/ 11 июня 2019

обновить этот код указанным выше кодом

func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler:
        @escaping (UNNotificationPresentationOptions) -> Void) {
        print("Handle push from foreground")
        print("\(notification.request.content.userInfo)")
        completionHandler([.alert, .badge, .sound])

        return
    }
0 голосов
/ 11 июня 2019

Вам необходимо подтвердить UNUserNotificationCenterDelegate в вашем классе AppDelegate;

import UserNotifications

class AppDelegate : UIResponder, UIApplicationDelegate, UNUserNotificationCenterDelegate

   func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

      UNUserNotificationCenter.current().delegate = self

   }

, затем вы можете вызвать эту функцию в своем классе ViewController, не забывайте снова импортировать уведомления пользователя в ViewController;

func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) 
{
    completionHandler([.alert, .badge, .sound])
}
...