ios – CoreBluetooth中央管理器无法在后台发现外设

前端之家收集整理的这篇文章主要介绍了ios – CoreBluetooth中央管理器无法在后台发现外设前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个应用程序正在使用蓝牙4.0 LE.该应用程序允许设备充当中央和外围设备.

我希望应用程序在后台运行.我已经在info.plist中包含了“蓝牙中心”和“蓝牙外设”的UIBackgroundModes.

我正在运行蓝牙4.0 LE启用的两种不同设备上的应用程序.

当两个设备在前台运行时,一切都可以正常工作,并且信息通过两种方式.

当一个设备在前台运行,另一个设备在后台运行时,后台运行的设备能够进行扫描和通告,但无法发现在后台运行的其他设备.在前台运行的设备能够发现并连接到在后台运行的设备.

阅读Apple’s Core Bluetooth Programming Guide后,我知道连接到另一台设备并共享信息.

我可以根据要求发布更多信息.谢谢.

解决方法

当外设应用程序背景时,通告的服务被推送到“溢出区域”,并且外设名称根本不被通告.另外,广告间隔增加.理论上,iOS BLE堆栈应该处理这种情况,并请求溢出区域数据,但是它不会这样做.同时,背景中央的扫描也减慢了,另外它需要特定的服务UUID才能工作. (您无法使用nil服务在后台进行扫描)

因此,无法在背景中央扫描背景设备.

无论是这个bug还是功能,只有苹果才知道.打开一个雷达,告诉他们你的问题.我们越多的人做这个,我们得到更好的机会得到回应.

原文链接:https://www.f2er.com/iOS/329616.html

猜你在找的iOS相关文章