PlaySystemSound в обычном режиме и вибрация в немом моде
Я пытаюсь воспроизводить только звуковые эффекты (в обычном режиме) и вибрировать (в тихом режиме) при получении или отправке сообщений (например, iMessenger). Но я не мог найти способ добиться этого должным образом.
Вот мой текущий подход (я не смог найти оригинальный пост этого подхода)
AudioServicesPlaySystemSoundWithCompletion(soundID, {
let interval = Date().timeIntervalSince(date)
if interval <= 0.2 {
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate)
}
})
Что он делает, так это то, что если телефон находится в беззвучном режиме, завершение будет инициироваться сразу после вызова. Я установил интервал в 0,2 секунды.
Но если звук воспроизводится постоянно (сообщение, через некоторое время завершение срабатывает очень быстро и посылает неожиданную вибрацию.
Я подозреваю, что предыдущее игровое действие не завершено, что вызывает эту проблему. Как я могу решить проблему?