我希望我的用户在单击通知时被重定向到特定的视图控制器。它们被重定向到的视图控制器取决于通知数据。
我正在使用 FCM,所以我在 AppDelegate 中实现了所需的功能。
然后我在单击通知时实现了到视图控制器的重定向(在userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void)方法中)。
我的应用有一个 tabBarController 和 4 个视图控制器(Activity -> TableView、Events、On Sale、My City)。我设法显示 My City ViewController 但我不知道如何传递数据。
然后,我还想要一些通知,以显示单个活动(活动 VC -> 单个活动)。我设法显示了活动 VC,但没有显示单个活动
// Display 'My City' without passing data (something I would like to do)
self.window = UIWindow(frame: UIScreen.main.bounds)
let storyboard:UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let tabBar:UITabBarController = storyboard.instantiateViewController(withIdentifier: "tabBar") as! UITabBarController
tabBar.selectedIndex = 4
self.window?.rootViewController = tabBar
self.window?.makeKeyAndVisible()
// Display Single activity (without the Navigation Controller Top Bar and the bottom Tab Bar; and without passing data => 2 issues)
self.window = UIWindow(frame: UIScreen.main.bounds)
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let viewController = storyboard.instantiateViewController(withIdentifier: "SingleActivityVC")
self.window?.rootViewController = viewController
self.window?.makeKeyAndVisible()
因此,当我单击通知时,它会显示这两个页面,但是:
1- 对于“我的城市”,我无法使用当前代码传递数据
2- 对于单个活动 VC:我无法传递数据,我不知道如何保留导航元素(顶部和底部栏)