Повторяющиеся уведомления не повторяются в симуляторе watchOS - PullRequest
1 голос
/ 06 мая 2020

Я пытаюсь реализовать повторяющиеся уведомления в моем приложении watchOS.

Вот код:

      let content = UNMutableNotificationContent()
      content.title = "tap"
      content.sound = UNNotificationSound.default
      let trigger = UNTimeIntervalNotificationTrigger(timeInterval: interval, repeats: true)
      let request = UNNotificationRequest(identifier: UUID().uuidString, content: content, trigger: trigger)
      UNUserNotificationCenter.current().add(request, withCompletionHandler: { error in 
      })

На реальном устройстве все работает правильно: я получаю уведомление каждые время прохождения интервала. Но на симуляторе я вижу странное поведение: все работает нормально, если я нажимаю dismiss в каждом уведомлении, когда я его получаю. Но если я не нажму dismiss, я получаю два уведомления, а затем перестаю их получать. Вот как это выглядит:

enter image description here

Я боюсь, что приложение может вести себя так же в реальной жизни при некоторых обстоятельствах, поэтому я хочу исправить это .

Также бывает, что у обоих уведомлений на скриншоте одинаковое время, несмотря на то, что между ними прошло две минуты. Похоже, watchOS не различает guish их, так как у них обоих одинаковый идентификатор. Но неясно, как я должен создать для них несколько идентификаторов, поскольку они фактически являются частью одного повторяющегося уведомления.

Одним из способов исправить это может быть создание нескольких неповторяющихся уведомлений, но, как я читал, существует ограничение в 64 из них, и мне нужно больше.

Как это исправить?

...