2016-07-30 23 views
2

Ich arbeite mit Push-Benachrichtigungen in CloudKit. Hier ist, was ich vor Swift verwendet 3:Soundname von UNNotificationSound

notification.soundName = UILocalNotificationDefaultSoundName 

(Benachrichtigung ist eine CKNotificationInfo)

aber das gibt mir eine Warnung:

'UILocalNotificationDefaultSoundName' was deprecated in iOS 10.0: Use UserNotifications Framework's +[UNNotificationSound defaultSound]

So habe ich den UserNotification Rahmen meiner Xcode Projekt, und ich habe es in meinen ViewController importiert. Ich habe dann versucht diese:

notification.soundName = UNNotificationSound.default() 

aber das gibt mir eine Fehlermeldung:

Cannot assign value of type 'UNNotificationSound' to type 'String?'

So ist der Standard-Sound ist ein UNNotificationSound, aber ich brauche den Soundnamen. Wie kann ich den Soundnamen aus dem Sound holen? Vielen Dank!

Antwort

1

Verwenden Sie den neuen UserNotifications Rahmen:

import UserNotifications 

let content = UNMutableNotificationContent() 
content.sound = UNNotificationSound.default() 

let request = UNNotificationRequest(identifier: "id", content: content, trigger: nil) 
+0

Dies ist nicht genau das, was ich gesucht habe ... Ich glaube nicht, dass ich eine "UNNotificationRequest" brauche. Auch content.sound ist leider nur zu bekommen. – penatheboss

+2

.sound ist nur für UNNotificationContent get-only, aber wenn Sie UNMutellableNotificationContent verwenden, können Sie ihn auf den Sound setzen, den Sie verwenden möchten. – gohnjanotis

2

Leider denke ich, die Antwort ist, dass, obwohl wir viele tolle Sachen mit dem neuen UserNotifications Rahmen bekommen haben, und Wolkenjunge CKNotificationInfo speziell nicht bekommen aktualisiert für sie.

Beste Wette im Moment ist zu verwenden, was UILocalNotificationDefaultSoundName normalerweise zurückgegeben hat, und "default" verwenden.