当应用程序处于后台时,iOS推送通知不起作用

问题描述:

几周前,我在其他问题中发布了此消息,但未收到任何帮助我解决问题的答案。当应用程序处于后台时,iOS推送通知不起作用

我有一个iOS应用程序,我通过APNS接收推送通知。

当应用处于前台时,正确触发APNS工作的推送通知100%正常工作。正确的委托方法被激发,并且一切按预期工作。

现在,如果用户按下主屏幕并进入iOS主屏幕或进入任何其他应用程序,我的应用程序的推送通知将停止工作。在触发推送通知时,设备上不会发生任何事情。如果用户返回到应用程序(前台应用程序),则推送通知将再次开始工作。

我的理解是当我的应用程序处于后台时,应用程序逻辑实际上不会在接收推送通知时执行。因此,我应该如何解决这个问题。它显然不能成为代码问题。如果这是一个代码问题,该应用程序将无法注册推送通知。但是,事实并非如此,因为推送通知在我的应用程序处于前台时可以正常工作。

任何想法?

+0

你在iOS7或iOS8上运行吗? – SinzianaG 2014-10-31 13:30:53

+0

我有一个针对iOS7的应用程序版本和另一个针对iOS8的版本。两者都是同样的问题。 – Beebunny 2014-10-31 20:21:58

你在你的AppDelegate.m didFinishLaunchingWithOptions方法添加:

[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)]; 

+0

是的,那是在那里。 – Beebunny 2014-10-27 18:52:23