通知センターからの通知の削除に関するここでの以前の投稿では、個々の通知を削除することはできず、すべての通知を削除することはできないと主張しています。
ただし、リマインダーアプリの個々の通知は削除されます-数分で発火するように3つのリマインダーを設定し、発火したら通知センターに移動します。リマインダーアプリの起動後に通知センターに戻り、その特定の通知を選択します。削除されましたが、他は残っています。では、これはどのように達成されますか?
通知センターからの通知の削除に関するここでの以前の投稿では、個々の通知を削除することはできず、すべての通知を削除することはできないと主張しています。
ただし、リマインダーアプリの個々の通知は削除されます-数分で発火するように3つのリマインダーを設定し、発火したら通知センターに移動します。リマインダーアプリの起動後に通知センターに戻り、その特定の通知を選択します。削除されましたが、他は残っています。では、これはどのように達成されますか?
リマインダーアプリはおそらくローカル通知を起動します。cancelLocalNotification:
を使用して、ローカル通知を取り消すことができますUIApplication
。
(さらに、拡張呼び出し(最初のバイトは1)を使用して送信された場合のプッシュ通知は、有効期限パラメーター(JSONペイロード内ではなく送信時)をサポートします。これは、この通知が特定の日付までに配信されない場合、このパラメータは、受信した通知を非表示にするためにも同様の方法で使用される可能性があります。
また、Apple自身のアプリが彼らがやりたいことを何でもする可能性が高い。)
ユーザーが通知をタップすると:
すでに発生している特定の通知を削除する場合、特にユーザーが通知をタップしてアプリに入らない場合は、後で取得できるように、NSUserDefaultsに保存することをお勧めします。そのアプローチはここで説明されています。