Добавить системный звук в удаленное уведомление iOS в UNNotificationServiceExtension

Я успешно изменяю полезную нагрузку удаленного уведомления, используя UINotificationServiceExtension.

Я хочу изменить звук оповещения в зависимости от выбора пользователя здесь. Для этого мне нужно назначить объект UINotificationSound для bestAttemptContent:

bestAttemptContent.sound = UNNotificationSound(named: UNNotificationSoundName(rawValue: "alertTone.caf"))

Это будет работать для тонов, которые я создал и импортировал в свой проект. В приведенном выше примере один из них называется alertTone.caf.

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


person alionthego    schedule 12.09.2019    source источник


Ответы (1)


Вы не можете ссылаться на системные звуки для UNNotificationSound, но вы можете попытаться воспроизвести звук при получении уведомления в расширении службы.

// import
import AVFoundation

// create a sound ID, in this case its the tweet sound.
let systemSoundID: SystemSoundID = 1016

// Play the correct sound when the notification is received in the service extension
AudioServicesPlaySystemSound (systemSoundID)

Источник для воспроизведения системных звуков здесь.

Это список всех идентификаторов системных звуков, которые вы можете использовать для справки.

person dsringari    schedule 13.09.2019