在没有VoIP iOS的情况下保持XMPP Socket活着

时间:2016-04-13 06:42:39

标签: ios objective-c sockets xmpp

我使用XMPP开发了一个聊天应用程序,当应用程序处于前台时工作正常,并且在后台3分钟后在后台运行3分钟后,在后台应用程序中没有收到消息,它会断开连接我也使用此xmppStream.enableBackgroundingOnSocket = YES;  但它的工作只有app在后台活着。使用VoIP它工作正常,但我的应用程序不支持VoIP,这可能会导致应用商店拒绝。 我想在背景中播放无声音乐以保持应用程序在后台运行,但我怀疑拒绝。我尝试使用UIBackgroundTaskIdentifier任务,但iOS仍然在3分钟内杀死应用程序。我尝试使用后台提取,但这并不能让应用程序保持活跃状态​​。

  • 有人对此有所了解吗?
  • 在后台播放无声音乐是否可以?app app会拒绝 我的应用程序,如果我这样做?
  • 我看了很多帖子,他们说远程通知是一种选择,是 真的如此吗?我们能否在没有远程通知的情况下实现这一目标?

1 个答案:

答案 0 :(得分:1)

如果没有PushNotification,您将无法实现此功能。

即使WhatsApp在应用程序未处于前台模式时也实现了发送消息的推送通知。

当消息的接收者不在前台时,您可以通过查看递送/读取滴答来检查它。

保持Socket Alive无法实现此功能,因为它会耗尽iPhone的电池。