每当我的应用收到推送通知时,它都会从最后一个徽章编号(不是 0)递增

Posted

技术标签:

【中文标题】每当我的应用收到推送通知时,它都会从最后一个徽章编号(不是 0)递增【英文标题】:Whenever my app receives a push notification it increments up from the last badge number (not 0) 【发布时间】:2015-08-06 09:47:00 【问题描述】:

我的徽章递增有问题。我正在使用 CloudKit 推送通知,当我的应用收到推送通知时,它会从最后一个通知编号递增。

因此,即使我使用以下方法将其重置为零:

UIApplication.sharedApplication().applicationIconBadgeNumber = 0

...在 AppDelegate.swift 方法中,它将从更大的数字开始,例如 15 - 而不是 1。

我应该提到我的应用程序可以接收推送通知。当上面的代码被触发时,徽章消失(好像徽章计数器被重置为 0),但这是暂时的。

这让我发疯了。有人可以帮我吗?

【问题讨论】:

有效载荷中有什么? 对不起,这是什么意思?我还是编码新手。 【参考方案1】:

您的徽章计数在推送通知的有效负载中发送。

[aps: 
    alert =     
        body = "some body text for notification banner";
        title = "title of the banner";
    ;
    badge = 1; // the count that will be set to the badge
    sound = default;
    , userInfo: 
    // some key/value pairs for further processing. // e.g. deep linking.
]

您应该在public func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject]) 上设置断点并打印 userInfo 字典的内容。检查徽章数量。

【讨论】:

这是打印报告 [aps: alert = "新事件已发布:>";徽章 = 24; , ck: ce = 2; cid = "iCloud.NV.Project-Oasis"; nid = "e0e8d0ff-ea6f-4b81-abce-90ccf359dbae"; qry = //东西 ; ] 对不起,我不知道为什么它不允许我以更简洁的方式发布回复。 所以徽章数是“badge = 24”。您需要查看生成有效负载的服务器或服务。如果计数器累积到 24,则表示未正确发送。 您的推送通知使用什么服务?是什么产生了它们? 这有帮助吗? - ***.com/questions/25120070/…

以上是关于每当我的应用收到推送通知时,它都会从最后一个徽章编号(不是 0)递增的主要内容,如果未能解决你的问题,请参考以下文章

每当我打开我的应用程序时,都会出现相同的推送通知

增量后清除推送通知徽章

收到推送通知时清除徽章

如何在 android 和 ios 收到的推送通知上设置徽章?

在 Swift 中收到推送时添加徽章

当应用程序在Phonegap(cordova)的后台状态下收到推送通知时增加徽章编号,