iOS点击推送通知打开具体的viewcontroller
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS点击推送通知打开具体的viewcontroller相关的知识,希望对你有一定的参考价值。
当用户点击推送通知时,是否可以打开具体的viewcontroller?
我有新闻应用程序,主视图控制器有很多新闻,当用户点击一些新的我打开下一个viewcontroller与此消息的描述。
当用户点击推送通知时,我如何打开第二个视图控制器?
我试图将Notification
发送到我的UINavigationController
并推送两个控制器,但它不能正常工作,它只打开第一个viewcontroller。
你可以处理你的应用,当你点击本地或推送通知,在你的AppDelegate.m中实现application:didReceiveLocalNotification:
或application: didReceiveRemoteNotification:
方法
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
}
-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification {
}
如果您的应用已关闭(不在后台),您可以验证是否收到了通知
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSDictionary *userInfo = [launchOptions objectForKey: UIApplicationLaunchOptionsRemoteNotificationKey];
if ( userInfo != nil )
[self application:application didReceiveRemoteNotification:userInfo];
}
我不知道你是如何处理你的新闻的,但你可以向你的主视图控制器发布一个通知,告知你已收到通知,传递“id”或新的信息,然后创建你的第二个视图控制器(你需要验证你的MainViewController
是否已经在你的NavigationController
堆栈中创建了):
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
[[NSNotificationCenter defaultCenter] postNotificationName:@"IHaveReceivedANotification" object:nil userInfo:userInfo];
}
以上是关于iOS点击推送通知打开具体的viewcontroller的主要内容,如果未能解决你的问题,请参考以下文章
推送通知 - 使用 SceneDelegate 在通知点击时推送 ViewController
在 iOS 10 下使用 FCM 在前台单击推送通知后无法导航到特定的 viewController