应用程序仅调用警报,但无论如何都会显示徽章

时间:2011-12-13 07:47:58

标签: iphone ios apple-push-notifications

我的应用只会调用提醒,但徽章会显示并且无法清除。这是代码.... :

- (void)registerForAPNService
{
    [[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert)];
}

ApplicationIconBadgeNumber设置为17,如下所示。

(void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)devToken 
{
    //[SettingsManager shared].apnToken = [[[NSString alloc] initWithData:devToken encoding:NSSymbolStringEncoding] autorelease];
    NSString *apnToken = [devToken description];
    apnToken = [apnToken stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"< >"]];
    apnToken = [apnToken stringByReplacingOccurrencesOfString:@" " withString:@""];
    _dataManager.apnToken = apnToken;
    NSLog(@"Device token is %@", devToken);
    NSLog(@"Device token is %@", apnToken);
    [self sendAPNToken];
    //app.applicationIconBadgeNumber = 17;

这是徽章的原因吗?我的开发人员说“在APNS注册期间徽章被关闭,这是一个iOS错误。”那似乎是这种情况吗?

1 个答案:

答案 0 :(得分:1)

徽章不能真正“关闭”。我不知道你的开发人员的意思,但我非常怀疑这是一个iOS错误。您可以将徽章数量设置为0,如下所示:

app.applicationIconBadgeNumber = 0;

也许他们将applicationIconBadgeNumber设置为17,然后将该行注释掉,但从未将其设置为0。