我的问题:我有一个与医疗 BLE 设备通信的应用程序。我已经一切正常,但我的问题是,当 ios 用户将应用程序放在后台时,我停止获取/处理通过蓝牙发送的消息。 Android 似乎不断收到这些消息,但据我发现,在 iOS 上,JS 桥已被拆除,并且没有针对此问题的解决方案。手机必须继续处理从 BLE 设备发送的数据。
我的想法是这样的,这也是我向大家提出的问题。
是否可以为 ios 创建一个始终运行并执行以下操作的本机模块:在收到通知时获取 ble 数据。当应用程序处于后台时,将数据存储到文件系统并将其推送到网络服务吗?如果应用程序返回前台时能够读取 fs 创建的文件并显示有关它们的一些数据,那就太好了。这可能吗?
您知道另一种可行的选择吗?
任何帮助是极大的赞赏。
好吧,当我沿着本机路径前进并阅读 ios 蓝牙 schtuff 时,我发现了这篇文章核心蓝牙编程指南 https://developer.apple.com/library/content/documentation/NetworkingInternetWeb/Conceptual/CoreBluetooth_concepts/CoreBluetoothBackgroundProcessingForIOSApps/PerformingTasksWhileYourAppIsInTheBackground.html特别是它提到了一个 plist 设置。
核心蓝牙后台执行模式通过添加UI背景模式将键添加到您的 Info.plist 文件中,并将键的值设置为包含以下字符串之一的数组:蓝牙中心—该应用程序使用核心蓝牙框架与蓝牙低功耗外围设备进行通信。蓝牙外设—该应用程序使用核心蓝牙框架共享数据。
所以我想,只要将这些键添加到我的 xcode 项目中,iOS 就会足够智能,而不会关心我是一个 RN 应用程序而不是本机应用程序......好吧,这就是门票!我插入这些值,即使我打开另一个应用程序,BLE 数据也会被处理。 “瓦拉!” ;)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)