Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/44.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/103.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 应用程序只调用警报,但仍显示徽章_Iphone_Ios_Apple Push Notifications - Fatal编程技术网

Iphone 应用程序只调用警报,但仍显示徽章

Iphone 应用程序只调用警报,但仍显示徽章,iphone,ios,apple-push-notifications,Iphone,Ios,Apple Push Notifications,我的应用程序只会发出警报,但会显示徽章,无法清除。这是代码。。。。 : ApplicationBadgeNumber设置为17,如下所示 (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)devToken { //[SettingsManager shared].apnToken = [[[NSString alloc] initWithDa

我的应用程序只会发出警报,但会显示徽章,无法清除。这是代码。。。。 :

ApplicationBadgeNumber设置为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;
(void)应用程序:(UIApplication*)应用程序DIDregisterForRemotionTificationswithDeviceToken:(NSData*)devToken
{
//[SettingsManager共享].apnToken=[[NSString alloc]initWithData:devToken编码:NSSYMBOLSTRINGGENCODING]自动删除];
NSString*apnToken=[devToken description];
apnToken=[apnToken stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@“<>”];
apnToken=[apnToken StringByReplacingOfString:@“with String:@]”的发生率;
_dataManager.apnToken=apnToken;
NSLog(@“设备令牌为%@”,devToken);
NSLog(@“设备令牌为%@”,apnToken);
[自发送令牌];
//app.applicationBadgeNumber=17;
这就是徽章的原因吗?我的开发者说“徽章在APNS注册过程中被关闭,这是一个iOS错误。”这似乎是真的吗?

徽章不能真正被“关闭”。我不知道你的开发者是什么意思,但我高度怀疑这是一个iOS错误。你可以像这样将徽章的数量设置为0:

app.applicationIconBadgeNumber = 0;

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

为什么要添加“app.applicationBadgeNumber=17;”如果你不想要徽章?是的,这听起来像是一个bug。注册只会改变推送通知设置徽章的能力,你总是可以在代码中更改徽章。PS:如果你不想要徽章,为什么要推送徽章?注册会是服务器端问题,在xcode中或通过我的开发帐户看不到吗?更改代码后将数字设置为0并保存,我需要做什么才能使更改生效?在应用程序委托中的
didfishlaunchingwithoptions:
使用此
[[UIApplication sharedApplication]setApplicationBadgeNumber:0]
。我们不需要臭徽章。很明显,徽章从一开始就出现了,徽章上显示的是1。我这么说是因为,虽然它只有1个应用程序,但其中有很多单独控制的“子应用程序”,它们向各自的注册用户发送独立推送通知。它似乎是一个“1”无论他们注册的是哪一组。
app.applicationIconBadgeNumber = 0;