didReceiveRemoteNotification

didReceiveRemoteNotification

我问了几次这个问题,我尝试了几种不同的方法,但是没有成功。

我尝试过的最新方法如​​下:
我包括了要显示的ViewController。然后,我将此代码放入didReceiveRemoteNotification方法中。

    CarFinderViewController *pvc = [[CarFinderViewController alloc] init];
   // [self.window.rootViewController presentViewController:pvc animated:YES completion:nil];
    [(UINavigationController *)self.window.rootViewController pushViewController:pvc animated:NO];

这没有用。我认为我可能遇到的问题是,我的初始视图不是像许多示例所示的导航控制器。

这是我的故事板的图片>我要发送给用户的VC是寻车器(右下)

有人可以向我解释我可能做错了什么吗?

最佳答案

收到远程通知时,基本上可以使用postNotification
像这样在您的didReceiveRemoteNotification发布通知中进行展示

[[NSNotificationCenter defaultCenter] postNotificationName:@"pushNotification" object:nil userInfo:userInfo];

现在在FirstViewController中,您可以像这样注册此通知的FirstViewController
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(pushNotificationReceived) name:@"pushNotification" object:nil];

和你的方法
-(void)pushNotificationReceived{

CarFinderViewController *pvc = [[CarFinderViewController alloc] init];
[self presentViewController:pvc animated:YES completion:nil];

}

不要忘记从dealloc方法的通知中删除观察者
-(void)dealloc {
[[NSNotificationCenter defaultCenter] removeObserver:self];
}

关于iphone - 从didReceiveRemoteNotification打开 View ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15139744/

10-09 16:23