Ios 推送到达时不播放自定义声音

Ios 推送到达时不播放自定义声音,ios,apple-push-notifications,Ios,Apple Push Notifications,我已经在我的应用程序中添加了一个自定义声音,但当推送到达时,它不会播放。 我不知道为什么不,我看不出和我所做的有什么不同,而且涉及的步骤太少了 1) 声音文件是一个有效的音频文件,可以听到声音(我甚至可以在Xcode中单击并播放它) 2) 声音文件存在于应用程序包中: 3) 声音文件名使用推送有效负载中的确切名称和大小写指定: {"aps":{"alert":"Test","badge":0,"sound":"PyngNotification.caf"}} 4) 我尝试过在没有扩展名的情况下

我已经在我的应用程序中添加了一个自定义声音,但当推送到达时,它不会播放。 我不知道为什么不,我看不出和我所做的有什么不同,而且涉及的步骤太少了

1) 声音文件是一个有效的音频文件,可以听到声音(我甚至可以在Xcode中单击并播放它)

2) 声音文件存在于应用程序包中:

3) 声音文件名使用推送有效负载中的确切名称和大小写指定:

{"aps":{"alert":"Test","badge":0,"sound":"PyngNotification.caf"}}
4) 我尝试过在没有扩展名的情况下指定名称,就像“PyngNotification”一样

5) 推送到达并显示,但不播放自定义声音

6) 无论推送内容是否包含“PyngNotification.caf”、“default”或“default”的声音,手机都会发出相同的噪音。这是一种短促的嗡嗡声

7) 声音在手机上不会被禁用,在推送应用程序时也不会被禁用

8) 应用程序正在注册UIRemoteNotificationTypeSound(如果是iOS8)。(如果通过控制面板查看,应用程序将声音显示为允许的类型之一)

9) 我有不止一部手机,一部是iOS8,一部是iOS7。这两种声音都不起作用

10) 声音不到30秒

11) 声音为ma4,并使用afconvert转换为caf

我看不到我遗漏的任何步骤,也看不到任何不正确的步骤。
有人有什么想法吗?

根据苹果的文档
https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/IPhoneOSClientImp.html#//apple_ref/doc/uid/TP40008194-CH103-SW6

准备自定义警报声音

对于iOS中的远程通知,您可以指定iOS在显示应用程序的本地或远程通知时播放的自定义声音。声音文件必须位于客户端应用程序的主捆绑包中

自定义警报声音由iOS系统声音设备播放,因此必须采用以下音频数据格式之一:

Linear PCM
MA4 (IMA/ADPCM)
µLaw
aLaw
您可以将音频数据打包为aiff、wav或caf文件。然后,在Xcode中,将声音文件作为应用程序包的非本地化资源添加到项目中

您可以使用afconvert工具转换声音。例如,要将16位线性PCM system sound Subside.aiff转换为CAF文件中的IMA4音频,请在终端应用程序中使用以下命令:

afconvert/System/Library/Sounds/subside.aiff~/Desktop/sub.caf-d ima4-f-caff-v

通过在QuickTime Player中打开声音并从“电影”菜单中选择“显示电影检查器”,可以检查声音以确定其数据格式


播放自定义声音时必须少于30秒。如果自定义声音超过该限制,则会播放默认的系统声音。

点击在Xcode中不工作的声音文件。查看右侧的文件检查器,确保选中了“目标成员资格”选项。

您提供的步骤几乎与我的所有步骤相同,除了背景模式设置。我必须在“功能>背景模式”中检查“音频、播放和画中画”模式。希望有帮助。

您能手动播放与上述相同的声音吗?我的设置与您完全相同,我的自定义声音在iOS 8.3上播放得很好。我也有与@black_stallion相同的配置和使用方法,但对我来说,它在iOS 7上工作,但在iOS 8上不工作。我有相同的问题!!每次都在ios 9设备上工作,但不在ios 8设备上工作。最疯狂的是我让它在ios 8设备上运行了一次。但是在随后的版本中,不同的声音是不起作用的。谢谢复制捆绑资源帮助了我