iOS接收到推送消息的跳转方法

在做推送的时候,往往在appdelegate里面接收到消息,跳转很麻烦,这里就介绍一种简单的跳转方法

首先,获取当前的停留的VC

- (UIViewController *)topVC:(UIViewController *)rootViewController{
    if ([rootViewController isKindOfClass:[UITabBarController class]]) {
        UITabBarController *tab = (UITabBarController *)rootViewController;
        return [self topVC:tab.selectedViewController];
    }else if ([rootViewController isKindOfClass:[UINavigationController class]]){
        UINavigationController *navc = (UINavigationController *)rootViewController;
        return [self topVC:navc.visibleViewController];
    }else if (rootViewController.presentedViewController){
        UIViewController *pre = (UIViewController *)rootViewController.presentedViewController;
        return [self topVC:pre];
    }else{
        return rootViewController;
    }
}

调用方法:

UIViewController *vc = [self topVC:[UIApplication sharedApplication].keyWindow.rootViewController];

然后执行跳转就可以了

时间: 2024-10-10 17:29:51

iOS接收到推送消息的跳转方法的相关文章

iOS开发,推送消息 steps

1.前期准备 在学习推送开发之前,开发者需要两样东西,(1).iPhone真机,因为模拟器不支持推送(2).付费的开发者账号. 2.新建项目,选择Single View Application模板. 3.注册通知(Registration Notification) (1)在AppDelegate文件的application:didFinishLaunchingWithOptions:方法中添加"注册推送"的代码. - (BOOL)application:(UIApplication 

iOS注册远程推送消息证书后提示此证书签发者无效的解决办法

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 我们在编写关于远程推送消息的App时需要注册一个相关的证书,我们可以到Apple开发网站的Certificates, Identifiers & Profiles页面首先创建一个App ID. 其中进入Push Notifications选项,并且在其子项Development SSL Certificate中选择创建证书(因为该证书是调试用的,所以在Deve

iOS的本地推送删除不了解决方法

最近在研究苹果推送,当测试本地推送的时候,发现一个问题,就是一旦你添加了一个本地推动的通知,当你修改代码,删除应用,当你再次运行app,它还是会在横幅上面弹出推送,尼玛怎么搞都删除不了,近乎崩溃了,开始以为是ios7的Bug,苹果爹自ios7之后各种bug曾出不穷,不过最后冷静思考了一下,有木有可能App本地的推送是设置系统里面,所以你在app删除本地推送的代码都没办法取消推送,于是终于给我找到了一个 cancelAllLocalNotifications方法,尼玛,蛋疼的本地推送终于不见了..

接收到推送消息时,提示声音

在需要声音的类里直接粘贴复制: NSString *path = [[NSBundle mainBundle] pathForResource:@"OrderMusic" ofType:@"wav"]; if (path) { //注册声音到系统 AudioServicesCreateSystemSoundID((__bridge CFURLRef)[NSURL fileURLWithPath:path],&shake_sound_male_id); //

iOS:极光推送控制器跳转

在前面已经做完了极光消息的推送,那么有消息了,如何跳转到需要的控制器呢?其实,主要还是在userInfo这个消息里面做判断来处理,具体如下: 下面这两个是远程推送时接收消息的方法,这是应用程序提供的方法,只要成功注册了极光推送,推送消息时,就会调用这两个方法,在这两个方法收到的userInfo消息做判断即可. // Required,For systems with less than or equal to iOS6 -(void)application:(UIApplication *)ap

iOS - 根据推送消息进行语音播报

目前市面上很多聚合支付APP都需要在收款成功后,进行语音提示,例如收钱吧,乐惠等!公司App融E收也同样需要实现改功能,主要分为2个部分,一是推送,而是语音播报,下面简单介绍一下 一 推送,目前集成的推送主要是极光推送,集成极光推动的流程比较简单,主要流程是 1.注册账号,在极光推送官网上注册账号,地址:https://www.jiguang.cn/accounts/register/form 2.登录账号,右上角点击创建应用,填写应用名称,上传应用icon,点击创建 3.上传推送证书,做APN

phonegap创建的ios项目推送消息出现闪退现象

使用phonegap创建的ios项目,推送消息时,当程序在前台运行或者在后台运行状态下,推送消息过来,可以解析并且跳转: 但是在程序从后台退出的状态下,当消息推送过来的时候,点击通知栏,打开程序,程序竟然出现了”闪退“现象. 经过一番排查,发现原来phonegap创建的项目默认是没有自动引用计数的(非arc机制),而我们在 - (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictio

推送消息

APNS(Apple Push Notification Services)苹果专门的推送服务器 接收我们自己应用服务器需要被推送的消息 然后推送到我们的手机 手机通知我们的应用程序 注册的大概流程: 1 设备需要向APNS服务器注册 2 注册成功后返回device_token值 3 将这个token值发送给我们自己的服务器 4 有需要推送的消息时  自己的服务器将消息按一定的格式打包 结合token值发送给APNS服务器 5 由于App与APNS维持一个基于TCP的长连接 APNS将消息推送到

iOS 下APNS推送处理函数具体解释

相比起Android,iOS在推送方面无疑惯例得更好.APNS(Apple Push Notification Service)是苹果公司提供的消息推送服务.其原理就是.第三方应用将要推送给用户的信息推送到苹果server.苹果server再通过统一的系统接口将这些信息推送到用户的手机上.假设对此不舍了解的朋友能够參见这篇文章:一步一步教你做ios 推送 本文着重叫在App端怎样处理推送信息. 主要涉及一下几个比較重要的函数,而这些函数都是AppDelegate类中: - (BOOL)appli