LocalNotifications の管理の 1 つの側面に問題があります - iOS 6 で単一の通知を削除します。
テキストコンテンツと発火日を含む LocalNotification を作成でき、機能します。
iOS 5 では、通知はホーム画面に 2 つのボタンがある AlertView として発生し、いずれかをタッチすると消えます。を使用して通知の火災をキャンセルでき[[UIApplication sharedApplication] cancelLocalNotification:theNotification]
ます。ここでは問題ありません。
iOS 6 では、起動時に上記のように通知センターで通知が発生します。を使用してキャンセルすると、起動し[[UIApplication sharedApplication] cancelLocalNotification:theNotification]
ません-動作します。でも着火後は…
私の問題:
この 1 回発生した通知を通知センターから消去できません。たとえば、通知がタッチされた後、またはアプリケーション内の何らかのアクションが実行された後に、通知が消えるようにします。
私が試したこと:
- using
[[UIApplication sharedApplication] cancelLocalNotification:theNotification]
- 通知の起動をキャンセルします (実際には、通知は既に起動されているので必要ありません) が、起動された通知を通知センターから消去しません。 - 配列からアイテムを削除する
[[UIApplication sharedApplication] scheduledLocalNotifications]
- この関数は常に空の配列を返すため、機能しません。通知がいくつ設定されていても (動作中です!) (誰かが理由を知っていますか?)
私が今していること
を使用してすべての通知を削除して[[UIApplication sharedApplication] cancelAllLocalNotifications]
います-それはそれらをキャンセルし、通知センターから消去してから、消去したいものなしでそれらを元に戻します。
ご覧のとおり、これはかなりばかげた冗長なソリューションですが、これまでのところ、これ以上の解決策は見つかりませんでした。
助言がありますか?