Я пытаюсь обработать pu sh щелчок уведомления. Когда приходит уведомление pu sh, я хочу направить пользователя в определенную часть приложения после нажатия на уведомление pu sh. Во-первых, в приложении есть SplashScreen, где он показывает вкладку как «Представлять модально», проверяя, вошел ли пользователь ранее в API Call. Что я хочу показать пользователю, это содержимое ленты в табличном представлении в контроллере навигации на первой вкладке TabBar. Но я не могу добраться до него и показать его как нажатый на табличном представлении.
-SplashScreen -------> TabBar -> Контроллер навигации -> Контроллер табличного представления -> ContentView (я хочу показать)
Я пытался написать расширение UIApplication, но оно не сработало. Вот расширение
extension UIApplication {
class func topViewController(base: UIViewController? = (UIApplication.shared.delegate as! AppDelegate).window?.rootViewController) -> UIViewController? {
if let nav = base as? UINavigationController {
return topViewController(base: nav.visibleViewController)
}
if let tab = base as? UITabBarController {
if let selected = tab.selectedViewController {
return topViewController(base: selected)
}
}
if let presented = base?.presentedViewController {
return topViewController(base: presented)
}
return base
}
}
Я написал следующий код в didFinishLaunchingWithOptions
if let option = launchOptions {
let info = option[UIApplication.LaunchOptionsKey.remoteNotification] as? [String:Any]
if let info = info {
if info["type"] as! String == "site-notification" {
let contentVC = Destination().FeedCoontentVC
contentVC.selectedSite = (info["link"] as! String)
contentVC.title = "asd"
UIApplication.topViewController()?.present(contentVC, animated: true, completion: nil)
}
}
}