更改推送通知声音文件,仅在iOS重启后才能使用

pat*_*ckS 5 iphone audio push-notification ios swift

我有问题,iOS应用程序访问目录中的Library/Sounds文件.

我的iOS应用程序在主应用程序包中提供不同的声音文件.我写了一些代码将选定的文件复制到Library/Sounds目录中.它foo.caf在该目录中始终具有相同的名称().

这样我就能切换到不同的推送通知声音.如果我这样做第一次一切正常.但是,如果我切换到其他应用程序并且我收到推送通知,则不再有声音.此外,默认声音不会播放.但奇怪的是,如果我重启iPhone并收到新的推送通知,我会得到新选择的声音..

iOS是否有一些缓存或其他东西,我必须先重置?或者这是一个iOS错误?

编辑:

我写了一个小的演示项目来重现这个问题.它可以在以下位置找到:

源代码:https://github.com/patricks/PushNotificationSoundSwitch/releases

Git Repo:https://github.com/patricks/PushNotificationSoundSwitch

自述文件:https://github.com/patricks/PushNotificationSoundSwitch/blob/master/README.md