Значок значка приложения на короткое время очищается, но номер значка возвращается в течение нескольких секунд в пошаговом приложении GameKit. - PullRequest
2 голосов
/ 14 января 2012

Я хочу очищать значок приложения каждый раз, когда пользователь открывает приложение. В моем приложении я очищаю значок со следующим кодом:

[UIApplication sharedApplication].applicationIconBadgeNumber = 0;
[[UIApplication sharedApplication] cancelAllLocalNotifications];

Я поместил этот код в - (void) applicationDidFinishLaunching:(UIApplication*)application и -(void) applicationWillEnterForeground:(UIApplication*)application. Я также зарегистрировался для удаленных уведомлений в - (void) applicationDidFinishLaunching:(UIApplication*)application перед запуском вышеуказанного кода для очистки значка.

[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge)];

Если я запускаю приложение, а затем возвращаюсь на главный экран, я вижу, что значок приложения был очищен, но в течение одной или двух секунд он возвращается к тому же значению, которое было до его очистки.

Я не использую локальные или Push-уведомления самостоятельно, скорее GameKit использует их, потому что это пошаговое совпадение. Когда происходят определенные события (например, это превращается в ход локального игрока в матче), на их устройство отправляется push-уведомление.

Что я мог делать не так?

Ответы [ 2 ]

2 голосов
/ 03 сентября 2012

Это не решение проблемы, но мои наблюдения, которые я сделал:

Сначала моя игра была TurnBasedMatch от GameKit, но мне пришлось перейти на нормальное совпадение, поэтому я думаю, что мне нужно пройтикод еще раз, чтобы проверить, могу ли я найти раздражающие уведомления, которые отправляет GameKit.

В любом случае, это определенно GameCenter: у меня есть два тестовых аккаунта, один работает на моем iPhone, другой в симуляторе.Когда я переключаю их, «BageCount» также меняется.В моем AppDelegate я установил его на -1 (с 0 он у меня не работает):

[UIApplication sharedApplication].applicationIconBadgeNumber = -1;

AppBage исчезает на 1-2 секунды, а затем возвращается.

OneТак или иначе, должно быть решение для удаления этих уведомлений из «GameCenter - NotificationCenter»!

1 голос
/ 11 февраля 2012

Я видел подобную проблему сегодня на моем устройстве. Я заметил, что устройство, на котором у меня была эта проблема, было в VPN моей компании. После отключения VPN-подключения этот значок очищается раз и навсегда. Я предполагаю, что устройство не смогло связаться с APNS во время процесса очистки.

Неубедительный ответ, но с тех пор у меня нет проблем.

...