我有一个iOS应用程序,它被设置为具有CBPeripheralManager
的外围设备和具有多个特征的服务。在用户打开控制中心并关闭和打开蓝牙后,我正在尝试重新连接。看起来我的服务恢复了正确的广告,但我没有得到任何写请求回调。我希望能够调用‑peripheralManager:didReceiveWriteRequests:
,但一旦蓝牙重新启动就不会发生。
在这种情况下我们需要做些什么特别的事吗?根据{{1}}文档,如果外围状态低于PoweredOff,我们只需要显式重新启动广告。我看到它转到PoweredOff,然后是PoweredOn,如果我查询它,CBPeripheralManager
会返回‑isAdvertising
,并且添加服务会因为服务已经添加而导致异常崩溃。
答案 0 :(得分:0)
为了接收写请求,您需要首先建立与外设的连接,然后写入它。
重置蓝牙后你可能没有重新建立连接吗?