在 UNNotificationServiceExtension 中将系统声音添加到 iOS 远程通知

Posted

技术标签:

【中文标题】在 UNNotificationServiceExtension 中将系统声音添加到 iOS 远程通知【英文标题】:Add System Sound to iOS remote notification in UNNotificationServiceExtension 【发布时间】:2019-09-12 20:03:16 【问题描述】:

我正在使用 UINotificationServiceExtension 成功修改我的远程通知负载。

我想在这里根据用户的选择更改警报声音。为此,我需要将 UINotificationSound 对象分配给 bestAttemptContent:

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

这适用于我创建并导入到我的项目中的色调。在上面的示例中名为 alertTone.caf。

但是,我想使用系统提示音而不是我自己的提示音。我知道我可以设置默认音调,但我想访问其他自定义音调。有没有办法做到这一点?

【问题讨论】:

【参考方案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)

播放系统声音的来源here.

This 是您可以参考的所有系统声音 ID 的列表。

【讨论】:

以上是关于在 UNNotificationServiceExtension 中将系统声音添加到 iOS 远程通知的主要内容,如果未能解决你的问题,请参考以下文章

秋的潇洒在啥?在啥在啥?

上传的数据在云端的怎么查看,保存在啥位置?

在 React 应用程序中在哪里转换数据 - 在 Express 中还是在前端使用 React?

存储在 plist 中的数据在模拟器中有效,但在设备中无效

如何在保存在 Mongoose (ExpressJS) 之前在模型中格式化数据

如何在保存在 Mongoose (ExpressJS) 之前在模型中格式化数据