自定义声音远程推送通知iOS不工作
我正在尝试更改远程消息的声音 我已将该文件添加到我的项目中,请参见图1 我还将所有内容添加到AppDelegate中。在DidFinishLaunchingWith选项中,我添加了:自定义声音远程推送通知iOS不工作,ios,swift,apple-push-notifications,Ios,Swift,Apple Push Notifications,我正在尝试更改远程消息的声音 我已将该文件添加到我的项目中,请参见图1 我还将所有内容添加到AppDelegate中。在DidFinishLaunchingWith选项中,我添加了: if (UIDevice.currentDevice().systemVersion as NSString).floatValue >= 8.0 { UIApplication.sharedApplication().registerUserNotificationSettings(UI
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()
我实施的其他方法有:
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)")
}
我从服务中收到的Json是:
{"aps":{"alert":"The push message!", "sound":"ice.caf"}}
我不确定我忘记更改通知的声音了吗?
当我收到通知时,它总是播放默认声音。您确定该文件已添加到捆绑包中吗?您可以通过查看
构建阶段
中的复制捆绑资源
来检查这一点
请参见此图以了解更多信息:
您需要检查以下事项才能推送通知
- 声音文件不应大于30秒
- 声音文件应该是有效的格式,(.aiff、.wav或.caf文件)文件的某个时间扩展名显示它是正确的,但它不是,所以您需要转换它
- 声音文件应该位于项目的根文件夹中,而不是子文件夹中
- 支付负载(推送json数据)应该是正确的格式(在您的情况下看起来不错)
- 在项目设置的
功能中,推送通知应该是
(在您的情况下,它看起来是打开的
,因为您收到的通知带有默认声音)打开的
- 请确保您的声音文件列在
构建阶段的
复制捆绑资源中