我正在使用Parse和PFInstallation根据来自Parse的通知来增加我的应用的徽章计数。我还需要能够减少该数字-不仅仅是重置它;我正在寻找与iOS Messages或Mail应用程序徽章相同的行为。每次阅读邮件或消息时,应用程序的徽章都会按您查看过的项目数减少。

如何使用Parse和PFInstallation在我的iOS应用中实现此目标? PFInstallation具有递增的概念,但是递减呢?

最佳答案

不幸的是,您不能像Decrement那样使用Increment。但是,您可以通过两种不同的方式将徽章编号设置为特定值。

更新安装

PFInstallation *currentInstallation = [PFInstallation          currentInstallation];
if (currentInstallation.badge != 0) {
    currentInstallation.badge -= 1;
    [currentInstallation saveEventually];
}


通过推送更新

在创建推送之前,请查看数据库中当前的徽章编号,并发送值-1。

NSDictionary *data = @{
     @"alert" : @"Your message",
     @"badge" : @<Decremented Value>,
};
PFPush *push = [[PFPush alloc] init];
[push setChannels:@[ @"Your Channel" ]];
[push setData:data];
[push sendPushInBackground];

07-26 08:29