我正在 BigSur 上构建一个菜单栏应用程序。应用程序经常发送
UserNotifications
。我想对显示的 .default
声音应用不同的声音 用户通知。我在播放声音时遇到了一些问题。我已尽我所能,但仍无法使其发挥作用。
到目前为止我所做的(音频文件是
one.caf
)
Copy Bundle resources
中,有.mp3, .wav, .caf
)project root
更改为 controllers
目录Bundle.main.url()
获取路径,然后调用 .lastPathComponent
finder
中的同一目录中。我不确定这是否与我调用通知的方式有关,但我对此表示怀疑。不管怎样,下面是我需要显示通知时运行的代码。仅供参考,我正在使用
singleton
类来管理通知
private func showNotification(title: String, subtitle: String) {
let content = UNMutableNotificationContent()
content.title = title
content.subtitle = subtitle
// Getting asset name using URL
let stringPath = Bundle.main.url(forResource: "one", withExtension: "caf")
print(stringPath?.lastPathComponent)
// content.sound = UNNotificationSound(named: UNNotificationSoundName(rawValue: "one.caf"))
UNNotificationSound(named: UNNotificationSoundName(stringPath?.lastPathComponent ?? ""))
content.sound = .defaultCritical
let request = UNNotificationRequest(identifier: UUID().uuidString, content: content, trigger: nil)
UNUserNotificationCenter.current().add(request)
}
我有完全相同的问题,我尝试了一切但无法解决。您找到解决办法了吗?