后台 CBPeripheral 无法保持可读性
Backgrounded CBPeripheral doesn't stay readable
我有一个应用程序可以广播带有少量文本的 CBPeripheral
。
我使用bluetooth-peripheral
后台模式让它在后台播放。
当我从另一台设备扫描时,在前台工作正常。我检测外围设备、连接、发现服务,然后从服务中读取数据。
然而,在后台,有些事情不太对劲。我用我的服务扫描外围设备,发现没问题。我连接也很好。然后我 discoverServices
使用我的服务,当 didDiscoverServices
回调被调用时,我的服务也很好。然而在这个回调中,外设有没有个服务! peripheral.services
为空。
如果没有这项服务,它就不会走到这一步,那有什么好处呢?
这个回调中的error
也是nil
在 iOS 12
上播放 CBPeripheral
时一切正常
编辑 -----
说得太早了,现在我的 iOS 12 设备似乎开始出现相同的症状。片刻之后,CBPeripheral 无法正常工作。
问题已通过在 CBPeripheralManager
上调用 startAdvertising
时添加 CBAdvertisementDataLocalNameKey
键解决。如果您希望 CBPeripheral
在后台继续广播,似乎需要此密钥。苹果文档没有提到这一点。
我有一个应用程序可以广播带有少量文本的 CBPeripheral
。
我使用bluetooth-peripheral
后台模式让它在后台播放。
当我从另一台设备扫描时,在前台工作正常。我检测外围设备、连接、发现服务,然后从服务中读取数据。
然而,在后台,有些事情不太对劲。我用我的服务扫描外围设备,发现没问题。我连接也很好。然后我 discoverServices
使用我的服务,当 didDiscoverServices
回调被调用时,我的服务也很好。然而在这个回调中,外设有没有个服务! peripheral.services
为空。
如果没有这项服务,它就不会走到这一步,那有什么好处呢?
这个回调中的error
也是nil
在 iOS 12
上播放CBPeripheral
时一切正常
编辑 ----- 说得太早了,现在我的 iOS 12 设备似乎开始出现相同的症状。片刻之后,CBPeripheral 无法正常工作。
问题已通过在 CBPeripheralManager
上调用 startAdvertising
时添加 CBAdvertisementDataLocalNameKey
键解决。如果您希望 CBPeripheral
在后台继续广播,似乎需要此密钥。苹果文档没有提到这一点。