应用程序图标徽章清除短暂,但回合制应用
我想每个用户打开应用程序时清除应用程序图标徽章的GameKit秒内徽章号返回。在我的应用程序,我清除徽章用下面的代码:应用程序图标徽章清除短暂,但回合制应用
[UIApplication sharedApplication].applicationIconBadgeNumber = 0;
[[UIApplication sharedApplication] cancelAllLocalNotifications];
我把这个代码在这两个- (void) applicationDidFinishLaunching:(UIApplication*)application
和-(void) applicationWillEnterForeground:(UIApplication*)application
。在运行上述代码清除徽章之前,我还在- (void) applicationDidFinishLaunching:(UIApplication*)application
中注册了远程通知。
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge)];
如果我启动应用程序,然后返回到主屏幕上,我看到了应用程序的徽章已经被清除,但是里面一两秒钟返回的值完全相同这是它被清除了。
我没有使用本地或推送通知自己,但因为它是一个回合制的比赛相当的GameKit使用它们。当某些事件发生(例如它变成本地玩家轮到比赛)时,推送通知被发送到他们的设备。
我会做什么错?
我今天在我的设备上看到类似的问题。我注意到我有这个问题的设备是在我公司的VPN上。关闭VPN连接后,该徽章将彻底清除。我猜这台设备在清除过程中无法与APNS通信。
不是一个令人信服的答案,但我没有,自从问题。
这不是解决问题的办法,但我的意见我已经做:
首先我的比赛是从的GameKit一个TurnBasedMatch,但我不得不改变正常的比赛,所以我觉得我必须去通过再次检查代码是否可以找到GameKit发送的烦人通知。
无论如何它绝对是GameCenter: 我有两个测试计数,一个在我的iPhone上运行,一个在模拟器中。当我切换这些时,“BageCount”也会改变。在我的AppDelegate我将它设置为-1(0它不工作对我来说):
[UIApplication sharedApplication].applicationIconBadgeNumber = -1;
的AppBage在前看不见1-2秒,然后回来。
这种或那种方式,必须有明确这些通知出的解决方案“的GameCenter - 通知中心”!
您能解决/调试此问题吗? – 2012-02-10 22:50:29