2012-08-23 35 views
7

我越来越疯狂与apns问题。didReceiveRemoteNotification不叫

我正在测试apns推送通知。我可以很好地推送消息。

但现在有些事情是大问题。我想告诉我的情况如下。

  • 当我的应用程序运行时,didReceiveRemoteNotification调用的很好。

  • 当我的应用程序进入后台,并获得推送消息,然后如果我摸我的应用程序,

    1. didFinishLaunchingWithOptions不叫。

    2. didReceiveRemoteNotification不被调用。

    3. 仅调用applicationDidBecomeActive。

所以,我怎么会显示在这样的情况下到达推送消息?

我无法访问(NSDictionary *)userInfo对象applicationDidBecomeActive方法。

我找不到任何API来访问userInfo。

从后台变成前台时,我无法访问已到达的推送消息是无稽之谈。

所以我应该再次从我的服务器检索消息?如果我应该这样做,为什么push消息架构存在?这是不合理的。

回答

8

通过点击图标打开应用程序将永远不会为您提供有关以前通知的信息。只有当您通过通知打开应用程序才能访问通知数据。

如果您点击图标,应用程序如果知道您正在响应哪个通知,如果有多个最近的通知?应用程序如何知道用户甚至会响应通知,而不是仅仅因为其他原因打开应用程序?通知不是为了做你想做的事。

有关更多讨论,请参阅iOS Push Notification - How to get the notification data when you click on the app icon instead of notification

+0

非常感谢你的清理!关于远程通知有很多很多的解释,Stack Overflow和其他地方都没有提供这些信息。即使苹果也没有明确提及它。 – Timo

+0

谢谢你,我也疯了 – sheetal

相关问题