在WWDC 2013的"多任务新功能"演示中,有一个关于静音推送通知的部分.看起来很简单.根据演示文稿,如果您将APS有效负载仅发送到内容可用设置为1,则不会通知用户该通知.
// A. This doesn't work
{
aps: {
content-available: 1
}
}
Run Code Online (Sandbox Code Playgroud)
我的测试显示,这不起作用,因为没有收到推送.但是,如果我包含声音属性但排除了alert属性,它就会起作用(虽然不再是静音).
// B. This works
{
aps: {
content-available: 1,
sound: "default"
}
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我更改声音属性以播放静音,我可以模仿静音.
// C. This works too.
{
aps: {
content-available: 1,
sound: "silence.wav"
}
}
Run Code Online (Sandbox Code Playgroud)
有人知道吗:
提前致谢.
编辑更多信息
对于A,应用程序的状态无关紧要.从未收到通知.
看起来B和C只有在将属性和值括在引号中时才有效,如下所示.
{"aps":{"content-available": 1, "sound":"silent.wav"}}
Run Code Online (Sandbox Code Playgroud)
并且通知到达应用程序:didReceiveRemoteNotification:fetchCompletionHandler:无论状态如何.
我们可以在IOS应用程序中获得静默本地通知吗?在后台进行一些数据处理而不与用户进行交互.
我想要做的是创建一个静默的本地通知,每天早上8点开始触发,用户收到它之后我想做一些数据处理并重新创建一个新用户,用户可以看到我查看后处理的新数据第一个静默的本地通知.
我尽量避免使用推送通知.