我的应用程序仅发出警报,但角标(Badge)会显示并且不会清除。这是代码...... :
- (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;
这就是角标(Badge)的原因吗?我的开发人员说“在 APNS 中注册期间角标(Badge)被关闭,这是一个 iOS 错误。”看起来确实如此吗?
最佳答案
角标(Badge)无法真正“关闭”。我不知道你的开发人员的意思,但我非常怀疑这是一个 iOS 错误。您可以将角标(Badge)数量设置为 0,如下所示:
app.applicationIconBadgeNumber = 0;
也许他们将 applicationIconBadgeNumber
设置为 17,然后注释掉该行,但从未将其设置回 0。
关于iphone - 应用程序仅发出警报,但仍显示角标(Badge),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8485846/