我正在使用CloudKit中的推送通知。这是我在Swift 3之前使用的:
notification.soundName = UILocalNotificationDefaultSoundName
(通知是CKNotificationInfo
)
然而,这给了我一个警告:
' UILocalNotificationDefaultSoundName'在iOS 10.0中已弃用:使用UserNotifications Framework' s [UNNotificationSound defaultSound]
所以我将UserNotification框架添加到我的Xcode项目中,然后将其导入到我的ViewController中。然后我尝试了这个:
notification.soundName = UNNotificationSound.default()
然而,这给了我一个错误:
无法指定类型' UNNotificationSound'的值输入' String?'
所以默认声音是UNNotificationSound
,但我需要声音名称。如何从声音中获取声音名称?谢谢!
答案 0 :(得分:2)
使用新的UserNotifications
框架:
import UserNotifications
let content = UNMutableNotificationContent()
content.sound = UNNotificationSound.default()
let request = UNNotificationRequest(identifier: "id", content: content, trigger: nil)
答案 1 :(得分:2)
可悲的是,我认为这里的答案是,尽管我们已经通过新的UserNotifications框架获得了很多很棒的东西,但CloudKit和CKNotificationInfo
并没有特别为它更新。
目前最好的选择是使用UILocalNotificationDefaultSoundName
通常返回的内容,并使用"default"
。