【发布时间】:2014-02-18 12:47:51
【问题描述】:
在我的应用程序中,我有两种类型的推送通知:带有content-available = 1 标志的远程静默通知和带有body、badge 和其他东西的普通推送通知。
我还定义了两个委托方法didReceiveRemoteNotification:fetchCompletionHandler 和通常的didReceiveRemoteNotification。
但是当没有content-available 标志的推送通知到达didReceiveRemoteNotification:fetchCompletionHandler 时,会调用didReceiveRemoteNotification,而不是didReceiveRemoteNotification。
如何解决这个问题?
为什么我不能有两个委托方法来进行后台推送和常规推送?
【问题讨论】:
-
content-available是否影响要调用的方法?我认为将remote-notification设置为后台模式会导致didReceiveRemoteNotification:fetchCompletionHandler调用。 -
"内容可用是否影响要调用的方法?" - 不。我说过
but when usual push-notification without content-available flag arrives nevertheless didReceiveRemoteNotification:fetchCompletionHandler is called。因此,无论是否设置了content-available标志,都会调用此委托。 -
那么,不是因为
remote-notification后台模式。 -
@vokilam 据我了解“由于远程通知后台模式”iOS 将始终只调用新的
didReceiveRemoteNotification:fetchCompletionHandler而不是didReceiveRemoteNotification并且没有办法改变这一点,对吧? -
我猜,没办法。因为通常的推送通知也可以在后台处理。
标签: ios objective-c cocoa-touch ios7 apple-push-notifications