Удаление единого удаленного уведомления из Центра уведомлений
мое приложение получает удаленное уведомление с сервера Apple.
Есть ли способ удалить одно удаленное уведомление из центра уведомлений (раскрывающееся меню, доступное из iOs 5.0+), когда пользователь нажимает на него?
Спасибо!
Ответ 1
Невозможно удалить конкретное уведомление с IOS SDK 5.0. Чтобы удалить все уведомления из вашего приложения, чтобы они не отображались в Центре уведомлений, когда пользователь открывает приложение из одного из них, необходимо установить значок приложения на 0, например:
EDIT: на iOS 8 SpringBoard автоматически отключает уведомление, когда вы нажимаете на него в Центре уведомлений, чтобы открыть приложение.
Ответ 2
Вот предложение, хотя оно имеет свои недостатки, и я сам не пробовал:
Нажмите молчащее уведомление (contentAvailable: true), не включайте "предупреждение" внутри push, поместите текст предупреждения в пользовательское свойство push
Управление входящим нажатием и запуск локального уведомления, немедленное отображение его
Если пользователь нажимает локальное уведомление, используйте [UIApplication cancelLocalNotification:], который должен удалить уведомление из центра уведомлений.
Ответ 3
Когда вы вызываете метод:
[application cancelAllLocalNotifications];
внутри методов AppDelegate: