gpt4 book ai didi

ios - 保持 iOS 应用程序处于事件状态以使用 MQTT 协议(protocol)

转载 作者:行者123 更新时间:2023-12-03 19:49:58 24 4
gpt4 key购买 nike

对于一个项目,我需要许多客户端订阅不同的硬件设备。在此设置中,客户端是 iOS 设备。硬件类似于树莓派,但我认为这并不重要。如果该硬件设备测量某种信息,就会发送信号。这是一个罕见的事件,可能永远不会发生。

该应用程序的目的是在用户感兴趣的位置出现某种事件时向用户发出警告。

我计划使用 MQTT 协议(protocol)来实现这一点。

这就是我的问题所在。要使用 MQTT,应用程序需要每隔几分钟发送一次 PINGREQ,即使应用程序处于后台也是如此。该应用程序还需要接收其订阅并立即处理它们。

这就是我计划做的:

  1. 将 Info.plist 中的“UIBackgroundModes”键设置为“voip”。
  2. 将套接字标记为 voip 套接字,以便在收到某些内容时唤醒应用
  3. 设置 keepAliveTimer:callback: 并发送 PINGREQ

..如所述here

我的问题是:Apple 会允许这样做吗?我的应用程序不是 VoIP 应用程序。如果没有,这种方法还有其他选择吗?

最佳答案

如果 Apple 政策不允许您将 MQTT 客户端应用程序在后台运行,那么解决方案应该是实现额外的推送服务。

推送服务订阅您的 MQTT 代理并向您的移动设备发送推送通知,以便它们无论是否运行 MQTT 客户端应用程序都会获取事件。

关于ios - 保持 iOS 应用程序处于事件状态以使用 MQTT 协议(protocol),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26762830/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com