Ios NSURLSessionDataTask在后台运行远程通知时,内容可用=1

Ios NSURLSessionDataTask在后台运行远程通知时,内容可用=1,ios,background,notifications,push-notification,nsurlsession,Ios,Background,Notifications,Push Notification,Nsurlsession,我的应用程序正在发送通知(如聊天应用程序),通知另一个应用程序它需要从服务器获取消息,即使它不在前台 我计划一个APN发送通知,通知内容为Content\u available=1,然后让应用程序呼叫服务器获取新消息 我的问题是, 只要它在后台运行,didReceiveMemotentification会一直被调用吗) 我不打算使用后台传输服务,而是在didReceiveMemotentification委托中进行提取调用 关于使用NSURLSessionDATATask来实现此目标(与NSU

我的应用程序正在发送通知(如聊天应用程序),通知另一个应用程序它需要从服务器获取消息,即使它不在前台

我计划一个APN发送通知,通知内容为
Content\u available=1
,然后让应用程序呼叫服务器获取新消息

我的问题是,

  • 只要它在后台运行,
    didReceiveMemotentification
    会一直被调用吗)

  • 我不打算使用后台传输服务,而是在
    didReceiveMemotentification
    委托中进行提取调用

  • 关于使用
    NSURLSessionDATATask
    来实现此目标(与
    NSURLSessionBackgroundTask
    相反)的任何问题


如果用户已明确终止应用程序,则不会提供后台推送

除此之外,在8.1版本之前,后台推送是可靠的(尽管不是100%保证)

在iOS 8.1之后的版本中,如果设备正在充电,后台推送仅在发送后立即发送到应用程序。否则,应用程序可能在几小时或几小时后才会收到推送

因此,如果您需要应用程序在消息可用后的短时间内获得新消息的通知,那么后台推送现在是无用的


我和其他许多人都希望iOS9能改变这种情况,但我并不乐观。

指的是“背景推送”对于内容可用=1的远程通知?请详细说明。是的,这就是我所指的。我知道APN传递消息所需的时间是不确定的,但在我的测试中,推送通知确实在几分钟内送达。我发现通常只需几秒钟。但对于更高版本的iOS,它不会在几分钟内送达如果设备未充电(直接或通过usb连接),et通常会在几个小时内送达。这仅适用于后台推送,不适用于前台推送。如果您想自己测试推送,则必须使用生产环境对其进行评估,开发环境的行为会有所不同。对于开发环境,推送将在几秒钟/分钟内完成,而生产环境不会发生这种情况。请在应用程序上查看此线程乐论坛