问题
I'm trying to change the sound of the remote message
I've added the file into my project, see picture 1

I've also added everything into my AppDelegate. In the didFinishLaunchingWithOptions I've added:
if (UIDevice.currentDevice().systemVersion as NSString).floatValue >= 8.0 {
UIApplication.sharedApplication().registerUserNotificationSettings(UIUserNotificationSettings(forTypes: .Sound | .Alert | .Badge, categories: nil))
UIApplication.sharedApplication().registerForRemoteNotifications()
} else {
UIApplication.sharedApplication().registerForRemoteNotificationTypes(.Badge | .Sound | .Alert)
}
//Clear badge
UIApplication.sharedApplication().applicationIconBadgeNumber = 0
UIApplication.sharedApplication().cancelAllLocalNotifications()
The other methods I've implemented are:
func application(application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: NSData) {
let deviceTokenString = deviceToken.hexString
println(deviceTokenString)
let task = service.writeForNotifications(token: deviceTokenString, completionHandler: {
})
task.resume()
}
func application(application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: NSError) {
println("Failed to get token: \(error)")
}
The Json I received from the service is:
{"aps":{"alert":"The push message!", "sound":"ice.caf"}}
I'm not sure whitch step I've forgotten to change the sound of the notification? When I receive a notification it always plays the default sound.
回答1:
Are you sure the file is added to the bundle? You can check this by looking at the Copy Bundle Resources
in Build Phases
.
See this image for clarification:

回答2:
you need to check the following thing to push notification work
- The sound file should not be greater then 30 seconds
- The sound file should be valid format, ( .aiff, .wav or .caf file ) some time extension of the file show it is right but it is not, so you need to convert it
- The sound file should be at the root folder of your project not in sub folder
- The pay load (push json data) should be in write format (in your case it look good)
- The push notification should be on in the
Capabilities
of you project setting (in your case it looks it is on because you are getting notification with default sound)
回答3:
Check for your app the phone’s Settings, under Notifications. The user can enable or disable the notifications for your app here, including individual settings for badges, sounds, and alerts.
Make sure sounds is ON before you work on notification.
来源:https://stackoverflow.com/questions/30346054/custom-sound-remote-push-notification-ios-not-working