即使将enableBackgroundingOnSocket设置为TRUE, XMPPFramework也不会在后台发送



我认为这个标题已经足够说明问题了。我希望XMPPFramework工作(像一个服务)在后台和接收消息,即使应用程序不处于活动状态。我设置了

xmppStream.enableBackgroundingOnSocket = YES;

但这里没有进展。应用程序进入后台,它仍然接收消息(并显示通知)几秒钟,但如果它处于非活动状态几秒钟(也空闲(没有传入消息)),它将不再在后台工作。我已经尝试日志记录,看到应用程序正在发送keep-alive数据包,在收到最后一条消息(最后一个活动)后几秒钟内,但如果没有活动几次,它停止发送keep-alive和应用程序将不会被通知和工作了。为了以防万一,我将"keep alive发送间隔"设置为5秒。

我真的很感谢你的快速帮助。

Thanks to lot

当你进入后台应用程序应该去xmpp离线,并编程你的服务器发送推送通知,当有消息,这将是一个电池和数据优化的方式。

可能与XMPP框架无关。

你希望你的应用程序在后台运行。你需要把它标记为后台应用程序。

查看:http://www.raywenderlich.com/29948/backgrounding-for-ios

最隐蔽的解决方案是告诉iOS你的应用是一个VOIP应用。

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

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

但是,如果没有真正提供VOIP服务,不确定苹果是否会批准你的申请。

希望这有帮助,Yaron

相关内容

  • 没有找到相关文章

最新更新