1

我有一个 iOS 应用程序,它设置为CBPeripheralManager具有多个特征的外围设备和服务。在用户打开控制中心并关闭和打开蓝牙后,我试图实现重新连接。看起来我的服务可以正确恢复广告,但我没有收到任何写请求回调。我期待‑peripheralManager:didReceiveWriteRequests:被调用,但是一旦重新打开蓝牙,它就永远不会发生。

在这种情况下,我们需要做些什么特别的事情吗?根据CBPeripheralManager文档,如果外围状态低于 PoweredOff,我们只需要显式重新启动广告。我看到它转到 PoweredOff,然后是 PoweredOn,如果我查询它,‑isAdvertising返回YES,并添加服务崩溃并出现异常,因为该服务已添加。

4

1 回答 1

0

为了接收写入请求,您需要首先建立与外围设备的连接,然后对其进行写入。

难道是蓝牙重置后你没有重新建立连接?

于 2016-05-23T11:51:49.783 回答