首页 > 解决方案 > 后台 CBPeripheral 无法保持可读性

问题描述

我有一个应用程序可以播放CBPeripheral少量文本。我使用bluetooth-peripheral后台模式允许它在后台广播。

当我从另一台设备扫描时,在前台它工作正常。我检测外围设备、连接、发现服务然后从服务中读取数据。

然而,在后台,有些事情不太对劲。我用我的服务扫描外围设备,它发现它很好。我连接也很好。然后,我的服务在调用回调discoverServices时也很顺利。didDiscoverServices然而在这个回调中,外设没有服务!peripheral.services是空的。如果没有这项服务,它就不会走到这一步,那又是什么呢?在error这个回调中也是nil

CBPeripheral在 iOS 12 上广播时一切正常

编辑 ----- 说得太早了,现在我的 iOS 12 设备似乎已经开始出现同样的症状。片刻之后,CBPeripheral 不起作用。

标签: iosbluetooth-lowenergycore-bluetoothcbperipheralios-bluetooth

解决方案


通过在CBAdvertisementDataLocalNameKey调用. 如果您希望在后台继续广播,似乎需要此密钥。苹果文档没有提到这一点。startAdvertisingCBPeripheralManagerCBPeripheral


推荐阅读