即使将enableBackgroundingOnSocket设置为TRUE,XMPPFramework也不会在后台发送保持活动状态

时间:2014-03-10 15:14:57

标签: ios xmppframework tcpsocket backgrounding uibackgroundtask

我认为标题足够说明。我希望XMPPFramework在后​​台工作(如服务),即使app未处于活动状态也会收到消息。我已经设置了

xmppStream.enableBackgroundingOnSocket = YES;

但这里没有进展。 该应用程序转到后台,它仍然会收到消息(并显示通知)几秒钟,但如果它处于非活动状态几秒钟(并且还空闲(没有传入消息))它将不再在后台运行。 我已经尝试记录并看到应用程序正在发送保持活动数据包,在收到最后一条消息(最后一个活动)后的几秒钟内,但如果没有活动一段时间,它会停止发送保持活动,应用程序将不会#39; t被通知并继续工作。 万一它很重要,我已经设置了#34;保持活跃发送间隔"到5秒。

我真的很感激任何快速的帮助。

非常感谢

2 个答案:

答案 0 :(得分:2)

当你进入后台时,应用程序应该运行xmpp offiline并对服务器进行编程,以便在有消息显示电池和数据优化的方式时发送推送通知。

答案 1 :(得分:0)

可能与XMPP框架无关。

您希望应用程序在后台运行。您需要将其标记为后台应用程序。

退房:http://www.raywenderlich.com/29948/backgrounding-for-ios

壁橱解决方案是告诉iOS您的应用程序是VOIP应用程序。

出于测试目的,您只需将“应用程序不在后台运行”设置为“否”,并将“所需的后台模式”设置为“应用程序提供IP语音服务。

这是在您的应用程序plist文件中完成的。

但是,如果没有真正提供VOIP服务,不确定Apple是否会批准您的应用程序。

希望这有帮助, 亚龙