在后台模式下保持XMPP连接为BLE附件(iOS,Swift)

时间:2016-08-03 13:48:23

标签: ios swift apple-push-notifications ibeacon xmppframework

我使用XMPPFramework制作简单的iOS信使。所以问题是,如果我的应用程序进入后台它与XMPP服务器断开连接,那么在不打开应用程序的情况下存储传入消息的唯一方法是推送通知(将消息var添加到推送中),这不太好办法。 此外,ma app使手机充当iBeacon以跟踪其他近手机的位置。据我所知,有了这样的功能,应用程序即使在后台也可以保持活跃,但我可以在后台进行XMPP连接,跟踪iBeacons吗?或者Apple发现并拒绝这样的应用程序?

谢谢你的帮助?

1 个答案:

答案 0 :(得分:1)

区分在后台运行的iOS应用程序和已暂停的iOS应用程序非常重要。

是的,您可以使用beacon trasmissions在后台保持您的应用程序处于活动状态。当它处于活动状态时,您可以在后台执行网络事件,包括XMPP调用。

信标检测可以让应用程序在后台保持活动状态的时间有限。

在接收方,通过同时对信标进行测距和监控,您可以为每个出现/消失的新信标区域保持活动状态10秒,并且可以根据请求将其延长至180秒。可以通过旋转每2分钟发送的信标来游戏该系统,以确保始终有新的进入/退出事件。

在发送端,iOS设备只能在前台发送iBeacon数据包。因此,您可以做的最好的事情是让接收应用程序在后台保持活动状态,并在最近3分钟内在信标范围(~50米)内的前景中有另一个应用程序时与XMPP进行通信。