我需要自定义推送通知声音。我不想创建和包含到Bundle。我需要实现类似whatsapp通知声音,或者请提供Apple提供的声音列表(如默认声音)。任何帮助都将受到高度赞赏。
由于
答案 0 :(得分:1)
在将此问题挖掘超过3周后,与苹果来回写作是唯一的解决方案 将有效负载更改为
sound = "custom"
现在您需要在表格视图中显示所有系统声音(如果您不知道如何操作,请查看github)。 一旦用户标记他的声音通知,您需要将文件复制到库/声音并为其指定自定义名称(或有效负载中的确切名称)。 这样你永远不会改变服务器端代码并保持自定义,另一方面你只需用一个新的声音覆盖自定义文件,用户就被选中了。
* SIDE注意:在版本9.2.1上有一个错误导致通知第二次无法工作,或者根本不应该根据Apple在下一个版本9.3中修复它!
在呼吸中我希望解决方案我可以覆盖有效负载,就像我们在Android中可以做的那样,Apple使开发人员的推送通知更加困难。
答案 1 :(得分:0)
在你的包中添加一个名为" pushSound.caf"的声音文件。
//以这种方式编写你的有效载荷
{
aps =
{
alert = "message";
sound = "pushSound.caf";//this file will have to your bundle
};
}
答案 2 :(得分:0)
准备自定义提醒声音
对于iOS中的远程通知,您可以指定iOS在为应用呈现本地或远程通知时播放的自定义声音。声音文件可以位于客户端应用程序的主包中,也可以位于应用程序数据容器的Library / Sounds文件夹中。
自定义提醒声音由iOS系统声音设备播放,因此它们必须采用以下音频数据格式之一:
您可以将音频数据打包到aiff,wav或caf文件中。然后,在Xcode中,将声音文件作为应用程序包的非本地化资源或数据容器的Library / Sounds文件夹添加到项目中。
您可以使用afconvert工具转换声音。例如,要将16位线性PCM系统声音Submarine.aiff转换为CAF文件中的IMA4音频,请在终端应用程序中使用以下命令:
afconvert /System/Library/Sounds/Submarine.aiff ~/Desktop/sub.caf -d ima4 -f caff -v
您可以通过在QuickTime播放器中打开声音并从“电影”菜单中选择“显示电影检查器”来检查声音以确定其数据格式。
播放时,自定义声音必须低于30秒。如果自定义声音超过该限制,则会改为播放默认系统声音。
答案 3 :(得分:0)
答案 4 :(得分:0)
要使用默认声音进行通知
let content = UNMutableNotificationContent()
/// Set up content ...
content.sound = UNNotificationSound.default()
要使用自定义声音,声音文件必须存储在应用程序的主捆绑包中,或者下载该文件并将其存储在应用程序容器目录的Library/Sounds
子目录中。
“主捆绑包”方法只能与新的应用程序版本一起使用,“下载声音文件”方法更灵活,可以在不发行新版本的情况下传送新声音。