2012-02-12 5 views
0

iPhoneアプリにテキストをプッシュしています。メッセージが受け入れられ、アプリで処理されると、私はまだ通知領域にメッセージが表示され、再び受け入れると、メッセージはアプリに複製されます。ユーザーが承諾したらプッシュ通知を削除

どうすれば避けることができますか?プッシュが受け入れられたら通知領域から削除することはできません。言い換えれば

- (void)application:(UIApplication *)application 
     didReceiveRemoteNotification:(NSDictionary *)userInfo 

が実行されると、私は、通知領域からの通知を削除したいです。

+0

ローカルまたはリモートの通知ですか? – samfisher

+0

リモート通知 – shebelaw

+0

この回答を見る:http://stackoverflow.com/a/7821985/428442そのトリックは、アプリのバッジ値を変更する必要があることが明らかです。したがって、1に設定してから0に設定すると、通知センターから通知が削除されます。 –

答えて

7

バッジ値を1または何らかの値に設定してから、0に戻します。次のように:

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:1]; 
    [[UIApplication sharedApplication] setApplicationIconBadgeNumber:0]; 
    [[UIApplication sharedApplication] cancelAllLocalNotifications]; 
+0

私にとってはうまくいかないようです。 他の解決方法は? – NadavN7

+0

リモート通知で実際に機能しますか? –

+0

@shebelaw上記のコードは、通知センターからすべての通知を削除するのに役立ちます。しかし、通知センターから選択した単一の通知を削除する方法はありません。 –

1

お試しください。

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0]; 
[[UIApplication sharedApplication] cancelAllLocalNotifications]; 
+0

これは動作していません – shebelaw

+0

私はこれを ' - (void)application:(UIApplication *)アプリケーション didReceiveRemoteNotification:(NSDictionary *)userInfo'の直前に設定しました。 – shebelaw