0

我认为标题足以说明问题。我想XMPPFramework在后台工作(如服务),即使应用程序未处于活动状态也能接收消息。我已经设定

xmppStream.enableBackgroundingOnSocket = YES;

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

我非常感谢任何快速帮助。

非常感谢

4

2 回答 2

2

当您进入后台时,应用程序应使 xmpp 脱机并编程您的服务器以在有消息时发送推送通知,该消息将是电池和数据优化的方式。

于 2014-09-05T12:15:48.943 回答
0

可能与 XMPP 框架无关。

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

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

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

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

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

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

希望这会有所帮助,亚龙

于 2014-08-05T13:02:08.813 回答