更改推送通知声音文件,只有iOS重新启动后才能使用

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

我的iOS应用程序在主应用程序包中提供了不同的声音文件。 我写了一些代码,将选定的文件复制到Library/Sounds目录。 它在这个目录中总是有相同的名字( foo.caf )。

这样我就可以切换到不同的推送通知声音。 如果我这样做,第一次一切正常。 但是,如果我切换到另一个应用程序,我收到推送通知没有声音了。 此外,默认声音不播放。 但奇怪的是,如果我重新启动iPhone,我收到新的推送通知,我得到新select的声音..

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

编辑:

我已经写了一个小的演示项目来重现这个问题。 它可以在:

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

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

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