Я пытаюсь представить сообщение из Push-уведомления (PN) в UIAlertController из AppDelegate в текущий ViewController.Если я отправлю 1 PN, где нет проблем, и отображается предупреждение!Но затем я отправляю второй PN, прежде чем я нажму на кнопку OK в предупреждении, сообщение не отображается, и появляется следующее предупреждающее сообщение:
"Предупреждение: попытка представить в который уже представляет "
Так как я могу обработать более 1 PN или можно показать последний PN?
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)
let message = aps["alert"] as? String
let alertController = UIAlertController(title: "New message", message: message, preferredStyle: .alert)
let ok = UIAlertAction(title: "OK", style: .default, handler: nil)
alertController.addAction(ok)
DispatchQueue.main.async {
self.window?.rootViewController?.presentedViewController?.present(alertController, animated: true, completion: nil)
}
completionHandler(UIBackgroundFetchResult.noData)
}