不显示应用程序图标徽章

时间:2014-03-11 13:14:53

标签: ios iphone objective-c apple-push-notifications

我使用

设置了应用图标徽章
[UIApplication sharedApplication].applicationIconBadgeNumber = ...;

我在倍数类上更改其值。在其中一个类中我有问题

NSLog(@"App icon badge : %d", [UIApplication sharedApplication].applicationIconBadgeNumber);

打印一些值。 4。但是,如果我将应用程序放在后台,那么图标上没有徽章。它应显示徽章4

我还在另一个班级更改徽章价值。因为它设置了正确的值,并将app放在背景中显示正确的值。

当我在控制器中,徽章值的设置工作,并记录当前徽章值,然后它给出正确的值,并将应用程序放在后台也显示正确的值。但是如果转到另一个控制器,徽章的设置不起作用,并且记录徽章值,那么它总是打印0。

3 个答案:

答案 0 :(得分:1)

在此方法中设置徽章值: -

- (void)applicationDidBecomeActive:(UIApplication *)application 

                       **OR** 

- (void)applicationWillEnterForeground:(UIApplication *)application

答案 1 :(得分:1)

您必须在appdelegate的不同方法中设置徽章值,如下所示:

- (void)applicationWillResignActive:(UIApplication *)application

- (void)applicationDidEnterBackground:(UIApplication *)application

- (void)applicationDidBecomeActive:(UIApplication *)application

答案 2 :(得分:0)

我解决了。这是由于下面的解析代码。

PFInstallation * currentInstallation = [PFInstallation currentInstallation];
currentInstallation.badge = 0;
[currentInstallation saveEventually:^(BOOL succeeded, NSError *error) {
    if (error)
    {
        ALog(@"Parse error in setting badge on installation object. Error : %@", error);
    }
}];

在下面一行之后,它将应用程序图标徽章设置为0。

currentInstallation.badge = 0;