我有一个应用程序,可以用少量的文本广播CBPeripheral。我使用bluetooth-peripheral后台模式允许它在后台广播。
当我从另一个设备扫描时,在前景中它工作得很好。我检测外围设备,连接,发现服务,然后从服务中读取数据。
然而,在背景中,有一些不太正确的地方。我用我的服务扫描外设,它发现它很好。我连接起来也很好。然后,我使用我的服务进行discoverServices,该服务在调用didDiscoverServices回调时也很好。但是,在这个回调中,外围设备没有服务!peripheral.services是空的。如果没有服务,它就不会走这么远,那又是什么原因呢?这个回调中的error也是nil
在CBPeripheral 12上播放iOS时一切正常
编辑--说得太快了,现在看来我的iOS 12设备已经开始出现同样的症状了。过了一会儿,CBPeripheral就不工作了。
发布于 2020-02-03 11:16:47
这个问题是通过在CBAdvertisementDataLocalNameKey上调用startAdvertising时添加startAdvertising键来解决的。如果你想让你的CBPeripheral继续在后台广播,那么这个键似乎是必需的。苹果公司的文档没有提到这一点。
https://stackoverflow.com/questions/60011979
复制相似问题