每当用户收到通知并单击它时,都应将其带到该特定选项卡。例如,当用户收到消息并打开通知时,应该打开应用程序,但应打开消息选项卡。想想推特& DM的。 在我的项目中,我试图实现非常相似的东西。在appdelegate和notificationReceived(OneSignal for Push通知)中,我试图这样做:
let sb: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let messageNavigationController: UINavigationController = sb.instantiateViewController(withIdentifier: "MessagesNav") as! UINavigationController
self.window = UIWindow(frame: UIScreen.main.bounds)
self.window?.rootViewController = messageNavigationController
self.window?.makeKeyAndVisible()
但没有任何反应。每当用户收到通知时,应用程序只会打开一个主选项卡(选项卡0)。我做错了什么?
答案 0 :(得分:1)
我不知道你是什么意思的notificationReceived,这不是UIApplicationDelegate
的预定义函数。如果您想在OneSignal发生推送通知时打开不同的页面,您应该将处理功能传递给handleNotificationAction
OneSignal.initWithLaunchOptions
。
您还提到更改标签控制器中的标签,但您粘贴的代码是将根视图设置为UINavigationController
。如果您确实想要更改标签,则需要获得对标签控制器的引用并在其上设置正确的selectedIndex
。