我的应用正在发送通知(如聊天应用),通知其他应用即使它不在前台,也需要从服务器获取消息。
我计划通过Content_available=1
发送通知,然后让应用程序调用服务器以获取新消息。
我的问题是,
只要它在后台运行,didReceiveRemoteNotification
会一直被调用吗?
我不打算使用后台转接服务,而是在didReceiveRemoteNotification
代表中进行取件调用?
使用NSURLSessionDATATask
来实现此目标的任何问题(与NSURLSessionBackgroundTask
相反?
答案 0 :(得分:0)
如果用户已明确终止该应用,则永远不会传递后台推送。
除此之外,背景推动在8.1之前是可靠的(尽管不是100%保证)。
使用iOS 8.1以后,如果设备正在充电,则后台推送仅在发送后立即传送到应用程序。否则,应用程序可能会在几个小时或几个小时后才会收到推送。
因此,如果您需要应用程序在消息可用的短时间内收到新消息的通知,那么后台推送现在无用。
我和其他许多人都希望这可能会在iOS9中发生变化,但我并不感到乐观。