2012-01-13 8 views
2

ユーザーがアプリを開くたびにアプリケーションアイコンバッジをクリアします。私のアプリでは、私は次のコードでバッジをクリア:アプリケーションアイコンのバッジが簡単にクリアされますが、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)]; 

私はホーム画面に戻り、その後、アプリを起動した場合、私はアプリのバッジがクリアされていることがわかりますが、それは、それがクリアされた前にそれがあったまったく同じ値に1秒か2秒以内に返されます。

自分自身でローカルまたはプッシュ通知を使用していませんが、ターンベースのマッチであるため、GameKitが使用しています。特定のイベントが発生すると(例えば、ローカルプレーヤーの試合になるなど)、プッシュ通知がデバイスに送信されます。

私は間違っていますか?

+0

この問題を解決/デバッグできましたか? –

答えて

1

今日私のデバイスで同様の問題が発生しました。私はこの問題を抱えていたデバイスが私の会社のVPN上にあったことに気付きました。 VPN接続をオフにした後、そのバッジは一度すべてクリアされました。私はデバイスがクリアのプロセス中にAPNSと通信することができなかったと思います。

納得のいく回答ではありませんが、それ以降問題はありません。

+0

あなたのご意見ありがとうございます。私はVPN上ではないが、問題は続く。私はサンドボックスアカウントを使用しているか、私のデバイスとシミュレータの間で遊んでいるという事実に関係していることを期待しています。 – jonsibley

+0

実際、この問題はVPNとはまったく関連していませんでした。バッジは私のために戻ってきました。これはiOSバグのようですが、iOSのどのバージョンをテストしていますか? –

+0

私のデバイスは5.0.1、Xcode 4.2です。デバイスとシミュレータの両方に間違ったバナーが表示されています。 – jonsibley

2

これは問題の解決策はありませんが、私の観察は私が作った:

まず私のゲームはGameKitからTurnBasedMatchだったが、私は通常の試合に変更しなければならなかったので、私は私が通過する必要がありだと思いますGameKitが送信する迷惑な通知を見つけることができるかどうかをもう一度確認するコード。

とにかく確かにGameCenter: 私は2つのテストアカウントを持っています.1つは自分のiPhoneで、もう1つはシミュレータで実行しています。これらを切り替えると、「BageCount」も変更されます。私AppDelegateで、私は-1に(0で、それは私のために動作しません)に設定します。1~2秒間

[UIApplication sharedApplication].applicationIconBadgeNumber = -1; 

AppBageのdisapearsをしてから戻ってきます。

「GameCenter - 通知センター」からこれらの通知をクリアする方法があります。

関連する問題