Почему отсутствует панель вкладок при вызове контроллера представления из 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
}