Ios 网间网操作系统;应用程序未运行或处于后台时推送通知不起作用

Ios 网间网操作系统;应用程序未运行或处于后台时推送通知不起作用,ios,push-notification,apple-push-notifications,Ios,Push Notification,Apple Push Notifications,我在检测来自APN的推送通知时遇到问题 如果应用程序未运行或处于后台时,APNS发出推送通知 - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler 这不是工作 当我回到前台时,没有从通知中心选择

我在检测来自APN的推送通知时遇到问题

如果应用程序未运行或处于后台时,APNS发出推送通知

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
这不是工作

当我回到前台时,没有从通知中心选择推送通知消息,这是不起作用的

我怎样才能解决这个问题

我正在iOS 6.13和iOS 7.0.4中测试该应用程序


谢谢你的帮助。:)

实际上,通知的第一个接收者是系统,而不是你的应用程序

如果您的应用程序不在前台,则在您点击通知使您的应用程序再次进入前台之前,将永远不会调用应用程序的
应用程序:DidReceiveMemoteNotify:fetchCompletionHandler


当推送通知到达并且用户单击“
取消”
”时,
您的应用程序无法再次读取该推送通知。您必须实现一个单独的功能(很可能在服务器端)来获取发送到此设备的通知列表。

来自Apple文档:

如果您的应用程序支持远程通知后台模式,请实施此方法

这意味着您使用的方法将重点放在后台任务上。并且仅在iOS 7.0之后可用

我建议您使用
应用程序:didReceiveMemotentification:

来自Apple文档:

如果应用程序正在运行并收到远程通知,则应用程序将调用此方法来处理通知


看来你们并没有仔细阅读这份文件。阅读应用程序:didFinishLaunchingWithOptions:首先确保APNS的基本设置。当应用程序未运行时,您是否能正常工作?我的意思是,当应用程序处于非运行状态时,如何处理推送通知?如果,如果您收到许多通知&您没有打开应用程序,也没有点击系统的通知面板,该怎么办。如何保存这些推送以备以后检索。@BalramTiwari,如果应用程序未运行时收到通知,设备会提醒用户应用程序有数据等待。如果用户未点击通知面板,您将一无所获。如果系统在后台未提醒我应用程序的通知,该怎么办?尽管在前台调用了
application:didReceiveEmotentification:fetchCompletionHandler