Почему отсутствует панель вкладок при вызове контроллера представления из push-уведомлений? (Раскрыты)

Я использую тихие уведомления для обновления заказов пользователей на своих устройствах. Когда приходит уведомление, в фоновом режиме или на переднем плане, я хочу, чтобы пользователь щелкнул по нему, и оно приходит к OrdersViewController.

Хорошо, я могу это сделать. Единственная проблема в том, что моя вкладка (нижнее меню) просто исчезла, поэтому пользователь не может покинуть страницу.

Я попытался: Swift IOS отправить пользователя к определенному ViewController в приложении на основе вкладок

Открытие ViewController в AppDelagate с сохранением вкладки

Также "Hide Bottom Bar on Push" не отмечен.

Мое приложение делегат:

func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
    let storyboard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
    let ordersVC : UIViewController = (storyboard.instantiateViewController(withIdentifier: "OrdersViewController") as! OrdersViewController)
    self.window = UIWindow(frame: UIScreen.main.bounds)
    self.window?.rootViewController = ordersVC    
}

Мои заказы ViewController:

override func viewWillAppear(_ animated: Bool) {
    self.tabBarController?.tabBar.isHidden = false
}

Любая помощь о том, как вызвать мою вкладку? Заранее спасибо.

ОБНОВЛЕНИЕ (РЕШЕНИЕ):

После двух дней поисков, что для меня решено (надеюсь, я смогу кому-нибудь помочь):

func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
    let storyboard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
    //tabBarApp is my Storyboard ID from my TabBarController
    let tabBar = storyboard.instantiateViewController(withIdentifier: "tabBarApp") as! UITabBarController
    //I tell xCode I want to open my second(because it starts with 0) menu from tabBar
    tabBar.selectedIndex = 1
    self.window?.rootViewController = tabBar
}

0 ответов

Другие вопросы по тегам