2015-10-15 102 views
0

我已经将我的iOS应用程序的苹果推送通知时。我的问题是,当我重新安装应用程序时,即使在登录应用程序之前,也会显示先前的通知徽章数。我怎么解决这个问题?请帮帮我。如何清除通知徽章计数重新安装应用

+0

删除应用程序,并设置徽章零的appdelegate didFinishLaunching方法 – baydi

+0

我想清楚之前,用户打开应用程序徽章计数。一旦安装完成,它会显示以前的徽章号码。如果用户没有打开应用程序,那么之前的徽章数量将保持不变,直到他打开应用程序 – user1960169

+0

看看这是只发生,因为你以前并没有清除批处理。当你这样做不会再次发生上述步骤只或您的device.When应用程序将被安装为一个新的它不会显示徽章的图标。 – baydi

回答

1

你试过从多任务菜单查杀应用程序,并启动它再次打电话?这里

- (void)applicationDidBecomeActive:(UIApplication *)application 
{ 
application.applicationIconBadgeNumber = 0; 
} 

其他

它只会得到清除上启动应用程序。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0]; 

return YES; 
} 

选择-2

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    if (launchOptions != nil) 
    { 
     NSDictionary* dict = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]; 
     if (dict != nil) 
     { 
      NSLog(@"Launched with APNS: %@", dictionary); 

      [self clearAPNSNotifications]; 
     } 
    } 

    return YES; 
} 

- (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo 
{  
    NSLog(@"Received APNS : %@", userInfo); 
    [self clearAPNSNotifications]; 
} 

- (void) clearAPNSNotifications { 
[[UIApplication sharedApplication] setApplicationIconBadgeNumber: 0]; 
[[UIApplication sharedApplication] cancelAllLocalNotifications]; 
} 
+0

中序到会发生这样我的应用程序应该通过点击不是它打开?但我的问题是,当我刚刚重新安装它,只要我之前也打开它显示了以前的徽章计数 – user1960169

+0

@ user1960169的应用程序 - 检查更新答案 –

+0

WY我应该清除didReceiveRemoteNotification徽章? – user1960169

2

更新为iOS 7和iOS 8和iOS 9,从苹果的文档:

在iOS 7及更高版本,第一次对于 推送通知启用推送应用注册,iOS的询问用户是否希望接收 通知该应用程序。一旦用户回应此警报 除非该设备恢复或应用程序已 被卸载了至少一天,它不会被再次提出。

如果你想模拟首次您的应用程序的运行,你可以离开 卸载了一天的应用程序。您可以实现后者没有 实际上按照下列步骤等待一天:

,从设备删除您的应用程序。完全关闭设备,然后 重新打开。转到设置>常规>日期&时间并将日期设置为 一天或更长时间。再次将设备完全关闭,然后 重新打开。

对于iOS 5和iOS6的:

重置推送通知权限通过从备份(R 11450187)恢复设备 警报。下面是步骤有效地做到这一点 :

使用Xcode的组织者在设备上安装您的应用。关键是 第一次安装应用程序而不运行它。使用iTunes 备份设备。运行应用程序。将显示推送通知权限 警报。当您想要重置推送通知 权限警报时,请从您在 中创建的备份中恢复设备的第一步。

更多详细信息,请参考此链接http://developer.apple.com/library/ios/#technotes/tn2265/_index.html

+0

你的答案是有价值 –