Прямой переход к определенному виду по клику пользовательских уведомлений - PullRequest
0 голосов
/ 18 октября 2018

Я реализовал push-уведомления в своем проекте, по нажатию push-уведомлений (в неактивном, фоновом и переднем режимах) я направляю пользователя к определенному Viewcontroller из appdelegate, где есть список уведомлений, вот его код:

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: \(messageID)")
                }
   let mainStoryboard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
                        let initialViewController: UIViewController = mainStoryboard.instantiateViewController(withIdentifier: "VANotificationTableViewController") as! VANotificationViewController

                        self.window = UIWindow(frame: UIScreen.main.bounds)
                        self.window?.rootViewController = initialViewController
                        self.window?.makeKeyAndVisible()
                //showPushNotification(message: response.notification.request.content.body)

                completionHandler()
            }

По сути, я делаю свой контроллер представления уведомлений в качестве моего rootViewController. При нажатии кнопки «Назад» в контроллере представления уведомлений должен отображаться контроллер панели мониторинга, но контроллер представления панели мониторинга идет без панели уведомлений сверхуЭто.Вещи, которые я пробовал

  • Self.dismiss
  • Попытка установки segue
  • Установка контроллера панели мониторинга в качестве контроллера корневого представления из обратного действия на контроллере представления уведомлений

    Есть ли способ, с помощью которого я могу по-разному перейти к представлению Notification ViewController из AppDelegate, чтобы код работал нормально?

1 Ответ

0 голосов
/ 18 октября 2018
 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: \(messageID)")
    }
    let mainStoryboard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
    let initialViewController: UIViewController = mainStoryboard.instantiateViewController(withIdentifier: "VANotificationTableViewController") as! VANotificationViewController
    let nav  = UINavigationController.init(rootViewController: initialViewController)
    self.window = UIWindow(frame: UIScreen.main.bounds)
    self.window?.rootViewController = nav
    self.window?.makeKeyAndVisible()
    //showPushNotification(message: response.notification.request.content.body)
    completionHandler()}
...