Mam problem z jednym z aspektów zarządzania LocalNotifications - usunięcie jednego powiadomienia w iOS 6.Usuwanie LocalNotifications z NotificationCenter (iOS 6)
Jestem w stanie stworzyć LocalNotification o zawartości tekstowej i ognia Data i to działa.
W systemie iOS 5 powiadomienie pojawia się jako AlertView na ekranie głównym za pomocą dwóch przycisków i znika po dotknięciu dowolnego z nich. Mogę anulować ostrzeżenie powiadomienia, używając [[UIApplication sharedApplication] cancelLocalNotification:theNotification]
. Nie ma problemu tutaj.
W systemie iOS 6 powiadomienie pojawia się w centrum notacji, jak pokazano powyżej po uruchomieniu. Jeśli anuluję to przy użyciu [[UIApplication sharedApplication] cancelLocalNotification:theNotification]
, nie uruchomi się - działa. Ale po to odpala ...
Mój problem:
nie jestem w stanie wymazać ten pojedynczy zwolniony zawiadomienie od centrum powiadomień. Na przykład chciałbym, aby powiadomienie zniknęło po dotknięciu lub po wykonaniu jakiejś czynności wewnątrz aplikacji.
Co próbowałem:
- użyciu
[[UIApplication sharedApplication] cancelLocalNotification:theNotification]
- anuluje ogień zgłoszenia (w rzeczywistości nie ma takiej potrzeby, ponieważ zgłoszenie zrobił już ogień), ale nie kasuje zwolniony zawiadomienie od centrum powiadomień - usuwanie elementów z tablicy
[[UIApplication sharedApplication] scheduledLocalNotifications]
- nie działa, ponieważ ta funkcja zawsze zwraca pustą tablicę, bez względu na to, ile (pracujących!) powiadomień jest ustawionych (czy ktoś wie dlaczego?)
Co robię teraz
jestem usuwając wszystkie powiadomienia za pomocą [[UIApplication sharedApplication] cancelAllLocalNotifications]
- anuluje je i usuwa z centrum powiadomień, a następnie utworzyć je z powrotem, bez jednego chciałem wymazać.
Jak widać, jest to raczej idiotyczne i zbędne rozwiązanie, ale nie udało mi się znaleźć lepszego rozwiązania.
Wszelkie sugestie?
Dzięki @deleteme. Zajmuję się tym problemem. Czytając twoje pytanie, zdajesz sobie sprawę, dlaczego dostaję pustą tablicę, gdy wołam '[[UIApplication sharedApplication] scheduleLocalNotifications]'. Chyba na razie skorzystam z twojego rozwiązania. – IgniteCoders