Vibrate iphone 7 с расширением службы уведомлений, но он не работает с iOS 12.1 в фоновом режиме - PullRequest
0 голосов
/ 06 декабря 2018

Я использую расширение службы уведомлений два раза, чтобы вибрировать устройство, фоновый режим включен, метод ниже работает на iOS 11 & 12.0.1, но не работает в iOS 12.1

режимы фона ниже:

enter image description here

вот код:

override func didReceive(_ request: UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void) {
self.contentHandler = contentHandler
bestAttemptContent = (request.content.mutableCopy() as? UNMutableNotificationContent)

if let bestAttemptContent = bestAttemptContent {
  DispatchQueue.main.asyncAfter(deadline: .now() + 0.7) {
    AudioServicesPlaySystemSound(kSystemSoundID_Vibrate)
  }

  DispatchQueue.main.asyncAfter(deadline: .now() + 1.4) {
    AudioServicesPlaySystemSound(kSystemSoundID_Vibrate)
  }

  contentHandler(bestAttemptContent)
}

}

1 Ответ

0 голосов
/ 06 декабря 2018

Я обнаружил, что он не будет работать, если настройки вибрации были отключены.(Перейдите в Системные настройки \ Звуки => Вибрация при звонке.)

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

Теперь, если вы добавите текстовое оповещение к этому уведомлению, он будет воспроизводить звук даже в режиме вибрации.

Возможно, потребуется провести еще несколько тестов.Например: если вы отправляете пользовательские пары ключ / значение, он воспроизводит звук?Не уверен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...