在没有 VoIP iOS 的情况下保持 XMPP 套接字在后台活动
Posted
技术标签:
【中文标题】在没有 VoIP iOS 的情况下保持 XMPP 套接字在后台活动【英文标题】:Keep XMPP Socket Alive In Background Without VoIP iOS 【发布时间】:2016-04-13 06:42:39 【问题描述】:我使用 XMPP 开发了一个聊天应用程序,它在应用程序处于前台时工作正常,直到后台 3 分钟后在后台应用程序 3 分钟后才收到消息简而言之它会断开连接我也使用这个 xmppStream.enableBackgroundingOnSocket = YES;
但它只有在应用程序在后台运行时才有效。使用 VoIP 可以正常工作,但我的应用程序不支持 VoIP,这可能会导致应用商店被拒绝。
我正在考虑在后台播放无声音乐以使应用程序在后台保持活力,但我怀疑被拒绝。我尝试使用 UIBackgroundTaskIdentifier 任务,但 ios 仍然会在 3 分钟内杀死应用程序。我尝试使用 Background Fetch 但这并不能让应用保持活力。
【问题讨论】:
兄弟,我认为您需要 GCM(Google Cloud Messaging)的应用程序。 不使用 GCM/Remote Notification 可以实现吗? 首先要清楚。应用程序进入后台后我们没有任何命令,如果我们想在后台执行某些代码或终止状态,那么我们必须实现 GCM/远程通知跨度> @PratikJamariya 您可以尝试使用 APNS,我认为这对您很有用.. ***.com/questions/36589631/… 【参考方案1】:如果没有 PushNotification,您将无法实现此功能。
当应用程序不处于前台模式时,甚至 WhatsApp 也实现了发送消息的推送通知。
当消息的接收者不在前台时,您可以通过查看传递/读取刻度来检查它。
保持 Socket 处于活动状态并不是实现此功能的方法,因为它会耗尽 iPhone 的电池。
【讨论】:
播放无声音乐会导致 App Store 拒绝应用。以上是关于在没有 VoIP iOS 的情况下保持 XMPP 套接字在后台活动的主要内容,如果未能解决你的问题,请参考以下文章