Скрыть кнопку действия уведомления во время выполнения

Я зарегистрировался для push-уведомлений и локальных уведомлений с помощью двух кнопок действий: action1 и action2. Получив уведомление, я могу видеть и то, и другое, а также принимать меры в зависимости от идентификатора действия. Однако один из моих вариантов использования требует, чтобы я спрятал одну или обе кнопки действий, прежде чем планировать локальное уведомление. Могу ли я сделать это во время выполнения?

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

В этом методе я регистрируюсь для уведомлений с 2 ​​кнопками действия.

Я вижу, что в зависимости от контекста мы можем определить переменное количество кнопок действий. Однако контекст предопределен, а не определен пользователем.

2 ответа

Решение

Зарегистрируйте уведомление пользователя с несколькими категориями, как вам требуется, например, категория 1 с двумя действиями, категория 2 без действия, категория 3 с одним действием.

При создании локального уведомления, используйте определенную категорию, как вам требуется. вот так NotificationName.category = @"Category_identifier";

Для тех, кто ищет ответ на этот вопрос в 2023 году с помощью Swift, я сделал вот что, чтобы избавиться от всех кнопок действий для конкретного случая во время выполнения. В расширении NotificationService

      var modifiedContent: UNMutableNotificationContent?

Затем вdidReceiveфункция

      guard let bestAttemptContent = modifiedContent else { return }
bestAttemptContent.categoryIdentifier = "" //Based on some condition
Другие вопросы по тегам