我有一个 iOS 应用程序,它设置为CBPeripheralManager
具有多个特征的外围设备和服务。在用户打开控制中心并关闭和打开蓝牙后,我试图实现重新连接。看起来我的服务可以正确恢复广告,但我没有收到任何写请求回调。我期待‑peripheralManager:didReceiveWriteRequests:
被调用,但是一旦重新打开蓝牙,它就永远不会发生。
在这种情况下,我们需要做些什么特别的事情吗?根据CBPeripheralManager
文档,如果外围状态低于 PoweredOff,我们只需要显式重新启动广告。我看到它转到 PoweredOff,然后是 PoweredOn,如果我查询它,‑isAdvertising
返回YES
,并添加服务崩溃并出现异常,因为该服务已添加。